Skip to content

Commit d8b3b87

Browse files
committed
notify
1 parent 9f5e198 commit d8b3b87

3 files changed

Lines changed: 18 additions & 17 deletions

File tree

webapp/src/app/page.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import { prisma } from '@/lib/prisma';
22
import { getSession } from '@/lib/auth';
3-
import { redirect } from 'next/navigation';
43
import TodoItemComponent from '@/components/TodoItem';
54
import CreateTodoForm from '@/components/CreateTodoForm';
65
import { TodoItemStatus } from '@prisma/client';
76
import Header from '@/components/Header';
87

98
export default async function Home() {
10-
const session = await getSession();
9+
const { userId } = await getSession();
1110

1211
const todos = await prisma.todoItem.findMany({
1312
where: {
14-
userId: session.user.id,
13+
userId,
1514
},
1615
orderBy: {
1716
createdAt: 'desc',
@@ -29,7 +28,7 @@ export default async function Home() {
2928
<div className="max-w-4xl mx-auto px-4 py-8">
3029
<h1 className="text-3xl font-bold mb-8 text-center">My Todo List</h1>
3130

32-
<CreateTodoForm />
31+
<CreateTodoForm userId={userId} />
3332

3433
<div className="mb-8">
3534
<h2 className="text-xl font-semibold mb-4">Pending Tasks ({pendingTodos.length})</h2>

webapp/src/components/CreateTodoForm.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ import { createTodo } from '@/actions/todo';
77
import { createTodoSchema } from '@/actions/schemas/todo';
88
import { toast } from 'sonner';
99
import { useEventBus } from '@/hooks/use-event-bus';
10+
import { useRouter } from 'next/navigation';
1011

11-
export default function CreateTodoForm() {
12+
export default function CreateTodoForm(props: { userId: string }) {
1213
const [isFormOpen, setIsFormOpen] = useState(false);
14+
const router = useRouter();
1315

1416
useEventBus({
15-
channelName: 'test',
17+
channelName: `user/${props.userId}/jobs`,
1618
onReceived: (data) => {
1719
console.log('received', data);
20+
router.refresh();
1821
},
1922
});
2023

webapp/src/jobs/async-job/translate.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,21 @@ export const translateJobHandler = async (params: z.infer<typeof translateJobSch
2121
region: process.env.AWS_REGION || 'ap-northeast-1',
2222
});
2323

24-
// Translate the title from English to Japanese
25-
const translateParams: TranslateTextCommandInput = {
26-
Text: todoItem.title,
27-
SourceLanguageCode: 'auto',
28-
TargetLanguageCode: 'ja',
29-
};
30-
31-
const translateCommand = new TranslateTextCommand(translateParams);
32-
const translateResult = await translateClient.send(translateCommand);
24+
const targetLanguage = 'ja';
25+
const translateResult = await translateClient.send(
26+
new TranslateTextCommand({
27+
Text: todoItem.title,
28+
SourceLanguageCode: 'auto',
29+
TargetLanguageCode: targetLanguage,
30+
}),
31+
);
3332

3433
if (translateResult.TranslatedText) {
3534
// Create a new todo item with the translated title
3635
const translatedTodoItem = await prisma.todoItem.create({
3736
data: {
3837
title: translateResult.TranslatedText,
39-
description: `Translated from: ${todoItem.title} (detected language: ${translateResult.SourceLanguageCode})`,
38+
description: `Translated from: ${todoItem.title} (from ${translateResult.SourceLanguageCode} to ${targetLanguage})`,
4039
userId: params.userId,
4140
status: todoItem.status,
4241
},
@@ -45,5 +44,5 @@ export const translateJobHandler = async (params: z.infer<typeof translateJobSch
4544
console.log(`Created translated todo item: ${translatedTodoItem.id}`);
4645
}
4746

48-
await sendEvent(`${params.userId}/jobs`, { type: 'completed' });
47+
await sendEvent(`user/${params.userId}/jobs`, { type: 'completed' });
4948
};

0 commit comments

Comments
 (0)