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 ( 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, +};