From 2469a8406859cc59f3363fade7072c3bac1e9561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A7=80=EC=B2=A0?= Date: Wed, 21 Jan 2026 17:52:22 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8C=80=EC=8B=9C=EB=B3=B4=EB=93=9C=20?= =?UTF-8?q?=EA=B2=8C=EC=8B=9C=EA=B8=80=20=EB=A7=81=ED=81=AC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/cm/app/api/auth/logout/route.ts | 24 +------------------ .../cm/src/pages/dashboard/ui/mypost-list.tsx | 14 +++++++---- .../cm/src/pages/dashboard/ui/notice-list.tsx | 10 ++++---- 3 files changed, 16 insertions(+), 32 deletions(-) diff --git a/apps/cm/app/api/auth/logout/route.ts b/apps/cm/app/api/auth/logout/route.ts index 8740d9d5b..fdcc9df7c 100644 --- a/apps/cm/app/api/auth/logout/route.ts +++ b/apps/cm/app/api/auth/logout/route.ts @@ -9,31 +9,9 @@ import { export async function POST() { const cookieStore = await cookies(); - - // 백엔드에 로그아웃 알림 (토큰 블랙리스트 처리) - const refreshToken = cookieStore.get(REFRESH_TOKEN)?.value; - - if (refreshToken) { - try { - // ⭐ Spring Boot 백엔드에 로그아웃 요청 - await fetch(`${process.env.NEXT_PUBLIC_SERVER_API_URL}/api/auth/logout`, { - method: "POST", - headers: { - "Content-Type": "application/json", - "Cookie": `${REFRESH_TOKEN}=${refreshToken}`, - }, - // credentials: "include", // fetch에서는 직접 쿠키 전달 - }); - } catch (error) { - console.error("Backend logout failed:", error); - } - } - - // Next.js 쿠키 삭제 cookieStore.delete(ACCESS_TOKEN); cookieStore.delete(REFRESH_TOKEN); cookieStore.delete(AUTH_USER_ID); cookieStore.delete(CLAIM_NAME); - return NextResponse.json({ message: "Logged out" }, { status: 200 }); -} \ No newline at end of file +} diff --git a/apps/cm/src/pages/dashboard/ui/mypost-list.tsx b/apps/cm/src/pages/dashboard/ui/mypost-list.tsx index ec5f97d48..2c15b7d7d 100644 --- a/apps/cm/src/pages/dashboard/ui/mypost-list.tsx +++ b/apps/cm/src/pages/dashboard/ui/mypost-list.tsx @@ -3,7 +3,7 @@ import { useRouter } from "next/navigation"; import { useQuery } from "@tanstack/react-query"; import { getCoreRowModel } from "@tanstack/react-table"; -import { PostApi, type MyPost } from "@/entities/post"; +import { PostApi, type MyPost, type NoticePost } from "@/entities/post"; import { ENDPOINT } from "@/shared/config"; import { useDataTable } from "@/shared/lib"; import { @@ -23,15 +23,21 @@ const MyPostList: React.FC = () => { }), }); + const handleMyPostRowClick = (row: MyPost) => { + router.push(`/cms/${row.bbsTypeCd.toLowerCase()}/${row.bbsId}/${row.pstNo}`); + }; + const { tableComponent: myPostTableComponent } = useDataTable({ query: myPostQuery, tableOptions: { - columns: myPostTableColumns, - getCoreRowModel: getCoreRowModel(), + columns: myPostTableColumns, + getCoreRowModel: getCoreRowModel(), }, dataTableOptions: { - variant: "line", + variant: "line", + onRowClick: handleMyPostRowClick }, + }); return ( diff --git a/apps/cm/src/pages/dashboard/ui/notice-list.tsx b/apps/cm/src/pages/dashboard/ui/notice-list.tsx index 86e21a4a3..502973225 100644 --- a/apps/cm/src/pages/dashboard/ui/notice-list.tsx +++ b/apps/cm/src/pages/dashboard/ui/notice-list.tsx @@ -26,7 +26,7 @@ const NoticeList: React.FC = () => { }); const handleNoticePostRowClick = (row: NoticePost) => { - router.push(`/bbs/bbsnotice/${row.bbsId}/${row.pstNo}`); + router.push(`/cms/${row.bbsTypeCd.toLowerCase()}/${row.bbsId}/${row.pstNo}`); }; const handleMoreClick = () => { @@ -40,12 +40,12 @@ const NoticeList: React.FC = () => { const { tableComponent: noticePostTableComponent } = useDataTable({ query: noticePostQuery, tableOptions: { - columns: noticePostTableColumns, - getCoreRowModel: getCoreRowModel(), + columns: noticePostTableColumns, + getCoreRowModel: getCoreRowModel(), }, dataTableOptions: { - variant: "line", - onRowClick: handleNoticePostRowClick, + variant: "line", + onRowClick: handleNoticePostRowClick, }, });