From 6c2007a24ea6e575dd09a060961cd4c6b02e2386 Mon Sep 17 00:00:00 2001 From: lim396 <90199432+lim396@users.noreply.github.com> Date: Wed, 6 Mar 2024 22:18:15 +0900 Subject: [PATCH] [frontend] Moved the redirect function out of the try-catch block (#303) --- frontend/app/lib/actions.ts | 2 +- .../app/ui/user/direct-message-button.tsx | 21 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/frontend/app/lib/actions.ts b/frontend/app/lib/actions.ts index 631b9fd6..b20fac8a 100644 --- a/frontend/app/lib/actions.ts +++ b/frontend/app/lib/actions.ts @@ -269,7 +269,7 @@ export async function createDirectRoom(userId: number) { } if (!res.ok) { console.error("createDirectRoom error: ", data); - return { error: data.message }; + return "Error"; } else { redirect(`/room/${data.id}`); } diff --git a/frontend/app/ui/user/direct-message-button.tsx b/frontend/app/ui/user/direct-message-button.tsx index 92562b33..927e0116 100644 --- a/frontend/app/ui/user/direct-message-button.tsx +++ b/frontend/app/ui/user/direct-message-button.tsx @@ -21,18 +21,19 @@ const showGetDirectRoomErrorToast = () => { export default function DirectMessageButton({ id }: { id: number }) { const router = useRouter(); const createOrRedirectDirectRoom = async () => { + let room; try { - const room = await getDirectRoom(id); - if (room.statusCode === 404) { - const result = await createDirectRoom(id); - if (result.error) { - showCreateDirectRoomErrorToast(); - } - } else { - router.push(`/room/${room.id}`); - } + room = await getDirectRoom(id); } catch (e) { - showGetDirectRoomErrorToast(); + return showGetDirectRoomErrorToast(); + } + if (room.statusCode === 404) { + const result = await createDirectRoom(id); + if (result === "Error") { + showCreateDirectRoomErrorToast(); + } + } else { + router.push(`/room/${room.id}`); } }; return <Button onClick={createOrRedirectDirectRoom}>Message</Button>;