diff --git a/src/components/ui/EmptyState/EmptyState.module.css b/src/components/ui/EmptyState/EmptyState.module.css index ecb1179..8662437 100644 --- a/src/components/ui/EmptyState/EmptyState.module.css +++ b/src/components/ui/EmptyState/EmptyState.module.css @@ -28,6 +28,14 @@ color: var(--text-secondary); } +.note { + margin: 0; + font-size: 13px; + font-weight: 500; + line-height: 21px; + color: var(--brand-primary); +} + .action { font-size: 13px; font-weight: 500; diff --git a/src/components/ui/EmptyState/EmptyState.test.tsx b/src/components/ui/EmptyState/EmptyState.test.tsx index aecac2b..9383e6f 100644 --- a/src/components/ui/EmptyState/EmptyState.test.tsx +++ b/src/components/ui/EmptyState/EmptyState.test.tsx @@ -29,4 +29,13 @@ describe('EmptyState', () => { await user.click(screen.getByRole('button', { name: '업무 만들기' })) expect(onAction).toHaveBeenCalledOnce() }) + + it('renders the note caption without making it a clickable action', () => { + render( + , + ) + + expect(screen.getByText('처리 중 · 중복 실행 차단')).toBeInTheDocument() + expect(screen.queryByRole('button')).not.toBeInTheDocument() + }) }) diff --git a/src/components/ui/EmptyState/EmptyState.tsx b/src/components/ui/EmptyState/EmptyState.tsx index ba20fc1..84205fb 100644 --- a/src/components/ui/EmptyState/EmptyState.tsx +++ b/src/components/ui/EmptyState/EmptyState.tsx @@ -6,17 +6,20 @@ export interface EmptyStateProps { kind?: EmptyStateKind title: string body: string + /** 클릭 동작이 없는 보조 캡션 — 로딩 상태의 "처리 중 · 중복 실행 차단" 같은 상태 표시용. */ + note?: string actionLabel?: string onAction?: () => void } -export function EmptyState({ kind = 'empty', title, body, actionLabel, onAction }: EmptyStateProps) { +export function EmptyState({ kind = 'empty', title, body, note, actionLabel, onAction }: EmptyStateProps) { const isError = kind === 'error' const isLoading = kind === 'loading' return (

{title}

{body}

+ {note &&

{note}

} {actionLabel && (
)} diff --git a/src/pages/CaseDetailPage/CaseDetailPage.tsx b/src/pages/CaseDetailPage/CaseDetailPage.tsx index 00b2a68..5d14687 100644 --- a/src/pages/CaseDetailPage/CaseDetailPage.tsx +++ b/src/pages/CaseDetailPage/CaseDetailPage.tsx @@ -234,7 +234,12 @@ export function CaseDetailPage() { if (taskStatus === 'loading') { return (
- +
) } diff --git a/src/pages/DashboardPage/DashboardPage.tsx b/src/pages/DashboardPage/DashboardPage.tsx index d42cac3..f6258b7 100644 --- a/src/pages/DashboardPage/DashboardPage.tsx +++ b/src/pages/DashboardPage/DashboardPage.tsx @@ -64,6 +64,7 @@ export function DashboardPage() { kind="loading" title="업무 현황을 불러오는 중입니다" body="기한·필수정보·응답 상태를 확인하고 있습니다." + note="처리 중 · 중복 실행 차단" /> )} diff --git a/src/pages/DocumentDetailPage/DocumentDetailPage.tsx b/src/pages/DocumentDetailPage/DocumentDetailPage.tsx index 1b273e6..6b62ce9 100644 --- a/src/pages/DocumentDetailPage/DocumentDetailPage.tsx +++ b/src/pages/DocumentDetailPage/DocumentDetailPage.tsx @@ -25,7 +25,12 @@ export function DocumentDetailPage() { if (fetchStatus === 'loading') { return (
- +
) } diff --git a/src/pages/DocumentListPage/DocumentListPage.tsx b/src/pages/DocumentListPage/DocumentListPage.tsx index 1f4b33b..4cf8ae2 100644 --- a/src/pages/DocumentListPage/DocumentListPage.tsx +++ b/src/pages/DocumentListPage/DocumentListPage.tsx @@ -129,7 +129,12 @@ export function DocumentListPage() { {status === 'loading' && (
- +
)} diff --git a/src/pages/TicketListPage/TicketListPage.tsx b/src/pages/TicketListPage/TicketListPage.tsx index a50183e..e2ec4a7 100644 --- a/src/pages/TicketListPage/TicketListPage.tsx +++ b/src/pages/TicketListPage/TicketListPage.tsx @@ -39,7 +39,12 @@ export function TicketListPage() { {status === 'loading' && (
- +
)} diff --git a/src/pages/WorkListPage/WorkListPage.tsx b/src/pages/WorkListPage/WorkListPage.tsx index 437b7ff..ce3ca06 100644 --- a/src/pages/WorkListPage/WorkListPage.tsx +++ b/src/pages/WorkListPage/WorkListPage.tsx @@ -187,7 +187,12 @@ export function WorkListPage() { {status === 'loading' && (
- +
)} diff --git a/src/pages/WorkerDetailPage/WorkerDetailPage.tsx b/src/pages/WorkerDetailPage/WorkerDetailPage.tsx index 3a1725d..b07424a 100644 --- a/src/pages/WorkerDetailPage/WorkerDetailPage.tsx +++ b/src/pages/WorkerDetailPage/WorkerDetailPage.tsx @@ -28,7 +28,12 @@ export function WorkerDetailPage() { if (status === 'loading') { return (
- +
) } diff --git a/src/pages/WorkerListPage/WorkerListPage.tsx b/src/pages/WorkerListPage/WorkerListPage.tsx index a40c02f..a4d3446 100644 --- a/src/pages/WorkerListPage/WorkerListPage.tsx +++ b/src/pages/WorkerListPage/WorkerListPage.tsx @@ -189,7 +189,12 @@ export function WorkerListPage() { {status === 'loading' && (
- +
)}