--- ui_doc_type: component component_id: workspace-list status: 구현됨 source_evidence: - type: code path: apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart notes: _buildWorkspaceList 구현. - type: code path: apps/client/lib/src/features/workspaces/domain/project_workspace.dart notes: ProjectWorkspace model과 mockProjectWorkspaces seed. - type: user path: null notes: agent-ui 생성 요청. --- # Workspace List Component ID: `workspace-list` Status: `구현됨` ## Source Evidence | Type | Path | Notes | |------|------|-------| | code | `apps/client/lib/src/features/workspaces/presentation/workspace_home_page.dart` | _buildWorkspaceList 구현. | | code | `apps/client/lib/src/features/workspaces/domain/project_workspace.dart` | ProjectWorkspace model과 mockProjectWorkspaces seed. | | user | 없음 | agent-ui 생성 요청. | ## Purpose 사용 가능한 project workspace를 카드 목록으로 보여주고, 현재 선택 workspace를 명확하게 표시한다. ## Used By - `workspace-home`: `workspace-home.workspace-list` ## Anatomy - Workspace card - Status icon - Workspace name - Description - Task count badge - Selected border/background state ## Variants - default: large-screen left panel list - stacked: small-screen top list ## States - default - selected - loading: 없음 - empty: mock workspace seed가 비어 있으면 list가 비어 있다. - error: 없음 - disabled: 없음 ## Rules - 선택 상태는 ProjectWorkspace id로 판별한다. - task count가 0이면 task count badge를 표시하지 않는다. - active workspace는 code icon과 cyan accent를 사용하고 paused workspace는 pause icon과 amber accent를 사용한다. ## Decision History - 2026-06-24: 구현된 workspace list를 component로 등록했다.