From a04303a409acebc5933fa8ff7762a62c7bb06f9a Mon Sep 17 00:00:00 2001 From: Sinji Date: Mon, 26 May 2025 00:05:16 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=EC=95=8C=EB=A6=BC=20=EB=AA=A8=EB=91=90=20=EC=9D=BD=EC=9D=8C?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=ED=91=9C=EC=8B=9C=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/mobile/notification/page.tsx | 51 ++++++++++++++++++---------- src/services/notification.ts | 18 ++++++++-- 2 files changed, 50 insertions(+), 19 deletions(-) diff --git a/src/app/mobile/notification/page.tsx b/src/app/mobile/notification/page.tsx index 9430976..5ebe2d3 100644 --- a/src/app/mobile/notification/page.tsx +++ b/src/app/mobile/notification/page.tsx @@ -5,7 +5,8 @@ import { useRouter } from 'next/navigation'; import MobileLayout from '@/components/mobile/layout'; import { userNotificationGet, - readNotificationPost, + readNotificationPatch, + readNotificationAllPatch, } from '@/services/notification'; import NotificationItem from '@/components/mobile/NotificationItem'; import Header from '@/components/mobile/Header'; @@ -39,10 +40,13 @@ export default function Notification() { fetchNotifications(); }, []); - // TODO : 로그인 여부 확인 후 로그인 안 했으면 로그인 화면으로 보내기 - const handleReadNotification = async (notificationId: number) => { - await readNotificationPost(notificationId); + await readNotificationPatch(notificationId); + }; + + const handleClickAllNotification = async () => { + await readNotificationAllPatch(); + window.location.reload(); }; return ( @@ -53,19 +57,32 @@ export default function Notification() { 현재 알림이 없습니다. ) : ( - notificationDetail.map((item) => ( - - item.notificationId && handleReadNotification(item.notificationId) - } - /> - )) +
+
+ +
+ + {notificationDetail.map((item) => ( + + item.notificationId && + handleReadNotification(item.notificationId) + } + /> + ))} +
)} ); diff --git a/src/services/notification.ts b/src/services/notification.ts index 5770f96..2778aeb 100644 --- a/src/services/notification.ts +++ b/src/services/notification.ts @@ -18,7 +18,7 @@ const adminNotificationGet = async () => { } }; -const readNotificationPost = async (notificationId: number) => { +const readNotificationPatch = async (notificationId: number) => { try { const response = await PrivateAxiosInstance.patch( `notifications/${notificationId}`, @@ -29,4 +29,18 @@ const readNotificationPost = async (notificationId: number) => { } }; -export { adminNotificationGet, userNotificationGet, readNotificationPost }; +const readNotificationAllPatch = async () => { + try { + const response = await PrivateAxiosInstance.patch('notifications/all'); + return response.data; + } catch (error) { + return []; + } +}; + +export { + adminNotificationGet, + readNotificationAllPatch, + readNotificationPatch, + userNotificationGet, +}; From d757680e769bfdacb4c609ef94f77840f068e854 Mon Sep 17 00:00:00 2001 From: Sinji Date: Mon, 26 May 2025 00:08:06 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EB=84=A4=EC=9D=B4=EB=B0=8D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=EC=9C=BC=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20?= =?UTF-8?q?=EC=96=B4=EB=93=9C=EB=AF=BC=20=EC=95=8C=EB=A6=BC=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/mobile/admin/notification/page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/mobile/admin/notification/page.tsx b/src/app/mobile/admin/notification/page.tsx index d46a9f4..61084ab 100644 --- a/src/app/mobile/admin/notification/page.tsx +++ b/src/app/mobile/admin/notification/page.tsx @@ -8,7 +8,7 @@ import { elapsedTime } from '@/utils/elapsedTime'; import { NotificationProps } from '@/types/notificationType'; import { adminNotificationGet, - readNotificationPost, + readNotificationPatch, } from '@/services/notification'; type AdminNotificationType = NotificationProps; @@ -28,7 +28,7 @@ export default function Notification() { }, []); const handleReadNotification = async (notificationId: number) => { - await readNotificationPost(notificationId); + await readNotificationPatch(notificationId); }; return (