From 8afac232e2c98e782c3cdb6d2ef016284c0becc2 Mon Sep 17 00:00:00 2001 From: Dohyeon Date: Tue, 15 Sep 2026 10:00:52 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=A7=88=EC=9D=B4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/my/components/MenuListItem.tsx | 33 ++++++--- src/pages/my/components/ProfileCard.tsx | 30 ++++---- src/pages/my/index.tsx | 89 +++++++++++------------- 3 files changed, 80 insertions(+), 72 deletions(-) diff --git a/src/pages/my/components/MenuListItem.tsx b/src/pages/my/components/MenuListItem.tsx index e0323e2..60c0cb1 100644 --- a/src/pages/my/components/MenuListItem.tsx +++ b/src/pages/my/components/MenuListItem.tsx @@ -4,6 +4,7 @@ import ChevronRightIcon from '@/assets/icons/my/chevron-right.svg?react' interface MenuListItemProps { icon?: ComponentType> label: string + description?: string onClick?: () => void isLast?: boolean iconClassName?: string @@ -12,6 +13,7 @@ interface MenuListItemProps { export function MenuListItem({ icon: Icon, label, + description, onClick, isLast = false, iconClassName, @@ -20,23 +22,32 @@ export function MenuListItem({ diff --git a/src/pages/my/components/ProfileCard.tsx b/src/pages/my/components/ProfileCard.tsx index 8cd2868..c801fa9 100644 --- a/src/pages/my/components/ProfileCard.tsx +++ b/src/pages/my/components/ProfileCard.tsx @@ -20,20 +20,25 @@ export function ProfileCard({ const roleLabel = isManager ? '사장님' : '알바생' return ( -
+
- -
+ +

{nickname}

-
-
+
) } diff --git a/src/pages/my/index.tsx b/src/pages/my/index.tsx index 9a40ab1..4e983f5 100644 --- a/src/pages/my/index.tsx +++ b/src/pages/my/index.tsx @@ -5,30 +5,25 @@ import { ROUTES } from '@/shared/constants/routes' import { useUserMe } from '@/features/user/me' import { ProfileCard } from './components/ProfileCard' import { MenuListItem } from './components/MenuListItem' -import UserIcon from '@/assets/icons/my/user.svg?react' import BookmarkIcon from '@/assets/icons/job-lookup-map/Bookmark.svg?react' import StoreIcon from '@/assets/icons/my/store.svg?react' -import HeadphonesIcon from '@/assets/icons/my/headphones.svg?react' -import FileTextIcon from '@/assets/icons/my/file-text.svg?react' -import SirenIcon from '@/assets/icons/my/siren.svg?react' import BellIcon from '@/assets/icons/my/bell.svg?react' -import MegaphoneIcon from '@/assets/icons/my/megaphone.svg?react' -import AlertCircleIcon from '@/assets/icons/my/alert-circle.svg?react' interface MenuItem { key: string label: string + description: string icon: React.ComponentType> - path?: string + path: string onlyManager?: boolean onlyWorker?: boolean } const MENU_ITEMS: MenuItem[] = [ - { key: 'info', label: '내 정보', icon: UserIcon, path: '/my/info' }, { key: 'scrapped-postings', label: '스크랩한 알바', + description: '저장해 둔 채용 공고를 확인해요', icon: BookmarkIcon, path: ROUTES.MY.SCRAPPED_POSTINGS, onlyWorker: true, @@ -36,36 +31,23 @@ const MENU_ITEMS: MenuItem[] = [ { key: 'store-apply', label: '업장 등록 신청', + description: '신청 현황과 처리 결과를 확인해요', icon: StoreIcon, path: ROUTES.STORE_REGISTER.REQUESTS, }, - { - key: 'support', - label: '문의하기', - icon: HeadphonesIcon, - path: '/my/support', - }, - { key: 'faq', label: '자주 묻는 질문', icon: FileTextIcon, path: '/my/faq' }, - { key: 'reports', label: '신고 내역', icon: SirenIcon, path: '/my/reports' }, { key: 'notifications', label: '알림 설정', + description: '받고 싶은 알림을 선택해요', icon: BellIcon, - path: '/my/notifications', - }, - { key: 'notice', label: '공지사항', icon: MegaphoneIcon, path: '/my/notice' }, - { - key: 'app-info', - label: '앱 정보', - icon: AlertCircleIcon, - path: '/my/app-info', + path: ROUTES.NOTIFICATION_SETTINGS, }, ] function MyPageHeader() { return ( -
- 마이페이지 +
+

마이페이지

) } @@ -105,11 +87,11 @@ export function MyPage() { return (
-
+
-
+
)} - +
+

+ 내 활동 및 설정 +

+ +
{!isManager && ( -

- 승인 완료 후 사장님 계정 전환이 활성화됩니다. -

+
+

+ 업장 등록 승인 후 사장님으로 전환할 수 있어요. +

+
)} -
+
+
-
+
) }