근무자 선택
++ {worker.name} +
+근무일 선택
++ 근무 시간 선택 +
++ {workTimeRangeLabel} +
+ +diff --git a/src/app/App.tsx b/src/app/App.tsx
index df2e7c3..54ca404 100644
--- a/src/app/App.tsx
+++ b/src/app/App.tsx
@@ -7,6 +7,7 @@ import {
Outlet,
} from 'react-router-dom'
import { ManagerHomePage } from '@/pages/manager/home'
+import { ManagerWorkerSchedulePage } from '@/pages/manager/worker-schedule'
import { SocialPage } from '@/pages/manager/social'
import { SocialChatPage } from '@/pages/manager/social-chat'
import { LoginPage } from '@/pages/login'
@@ -14,6 +15,9 @@ import { JobLookupMapPage } from '@/pages/user/job-lookup-map'
import { SchedulePage } from '@/pages/user/schedule'
import { UserHomePage } from '@/pages/user/home'
import { WorkspaceMembersPage } from '@/pages/user/workspace-members'
+import { WorkspacePage } from '@/pages/user/workspace'
+import { WorkspaceDetailPage } from '@/pages/user/workspace-detail'
+import { AppliedStoresPage } from '@/pages/user/applied-stores'
import { MobileLayout } from '@/shared/ui/MobileLayout'
import { MobileLayoutWithDocbar } from '@/shared/ui/MobileLayoutWithDocbar'
@@ -58,16 +62,26 @@ export function App() {
}
/>
-
월간 일정을 불러오는 중...
+{workspace.businessName}
-요일
+시간
++ {detail.timeRangeLabel} +
++ 자기소개 +
++ {detail.selfIntroduction} +
+diff --git a/src/features/home/user/applied-stores/ui/AppliedStoreListItem.tsx b/src/features/home/user/applied-stores/ui/AppliedStoreListItem.tsx new file mode 100644 index 0000000..133ffe6 --- /dev/null +++ b/src/features/home/user/applied-stores/ui/AppliedStoreListItem.tsx @@ -0,0 +1,52 @@ +import { ApplicationStatusBadge } from '@/shared/ui/home/ApplicationStatusBadge' + +interface AppliedStoreListItemProps { + storeName: string + status: 'applied' | 'rejected' + thumbnailUrl?: string + onClick?: () => void +} + +export function AppliedStoreListItem({ + storeName, + status, + thumbnailUrl, + onClick, +}: AppliedStoreListItemProps) { + return ( +
+ {storeName} +
+월간 일정을 불러오는 중...
-+ {workspaceDetail?.businessName ?? ''} +
++ {workspaceDetail?.fullAddress ?? ''} +
++ {workspaceDetail?.businessName ?? ''} +
++ 우리 매장 시간표 +
++ {worker.name} +
++ {workTimeRangeLabel} +
+ +{message}
diff --git a/src/pages/signup/components/PhoneVerification.tsx b/src/pages/signup/components/PhoneVerification.tsx index b8403d7..6652faa 100644 --- a/src/pages/signup/components/PhoneVerification.tsx +++ b/src/pages/signup/components/PhoneVerification.tsx @@ -38,9 +38,9 @@ export function PhoneVerification({ onChange={e => handlePhoneChange(e.target.value)} borderColor={ verified - ? '1px solid #2DE283' + ? '1px solid main' : message && !smsSent - ? '1px solid #DC0000' + ? '1px solid error' : undefined } /> @@ -88,7 +88,7 @@ export function PhoneVerification({ {message && ({message}
diff --git a/src/pages/signup/components/SignupTerms.tsx b/src/pages/signup/components/SignupTerms.tsx index f7fe5fd..aa49cb6 100644 --- a/src/pages/signup/components/SignupTerms.tsx +++ b/src/pages/signup/components/SignupTerms.tsx @@ -36,7 +36,7 @@ export function SignupTerms({ className={checkboxCls} /> - (필수) + (필수) 이용약관과{' '} 개인정보 보호정책 에 동의합니다. diff --git a/src/pages/signup/components/Step2AccountInfo.tsx b/src/pages/signup/components/Step2AccountInfo.tsx index 094cad6..0f5c3ce 100644 --- a/src/pages/signup/components/Step2AccountInfo.tsx +++ b/src/pages/signup/components/Step2AccountInfo.tsx @@ -111,9 +111,9 @@ export function Step2AccountInfo({ onChange={e => handleNicknameChange(e.target.value)} borderColor={ nicknameChecked - ? '1px solid #2DE283' + ? '1px solid main' : nicknameCheckMessage - ? '1px solid #DC0000' + ? '1px solid error' : undefined } /> @@ -128,7 +128,7 @@ export function Step2AccountInfo({ {nicknameCheckMessage && ({nicknameCheckMessage}
diff --git a/src/pages/user/applied-stores/index.tsx b/src/pages/user/applied-stores/index.tsx new file mode 100644 index 0000000..3e26607 --- /dev/null +++ b/src/pages/user/applied-stores/index.tsx @@ -0,0 +1,139 @@ +import { useState } from 'react' +import { Navbar } from '@/shared/ui/common/Navbar' +import { AppliedStoreListItem } from '@/features/home/user/applied-stores/ui/AppliedStoreListItem' +import { AppliedStoreDetailModal } from '@/features/home/user/applied-stores/ui/AppliedStoreDetailModal' +import { useAppliedStoresViewModel } from '@/features/home/user/applied-stores/hooks/useAppliedStoresViewModel' +import type { AppliedStoreData } from '@/features/home/user/applied-stores/types/appliedStore' +import DownIcon from '@/assets/icons/home/chevron-down.svg?react' + +export function AppliedStoresPage() { + const [selectedStore, setSelectedStore] = useState로딩 중...
++ 데이터를 불러오는 데 실패했습니다. +
++ 지원 내역이 없습니다. +
++ 로딩 중... +
++ 등록된 관리자가 없습니다. +
++ 로딩 중... +
++ 등록된 근무자가 없습니다. +
++ 데이터를 불러오는 데 실패했습니다. +
+로딩 중...
++ 근무중인 가게가 없습니다. +
+