From 021ca5aa133646481079ee995aed0ec18e6fec93 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 6 Aug 2026 14:03:21 +0900 Subject: [PATCH] feat: add wbs and component catalogue workspace --- frontend/src/App.vue | 1 + frontend/src/app/router.ts | 4 +++- .../ui-standard/pages/UiStandardPage.vue | 10 +++++++- .../features/wbs/pages/WbsWorkspacePage.vue | 24 +++++++++++++++++++ .../src/shared/ui/layouts/AppShellLayout.vue | 5 ++++ 5 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 frontend/src/features/wbs/pages/WbsWorkspacePage.vue diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e6d36159..603c5308 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -8,6 +8,7 @@ import { AppShellLayout } from './shared/ui/layouts'

Research

매도 의사결정

Portfolio

포트폴리오 리스크리밸런싱 제안

Operations

데이터 품질시장 데이터 수집수집 이력모델 운영
+

Internal

WBS 작업공간컴포넌트 카탈로그
diff --git a/frontend/src/app/router.ts b/frontend/src/app/router.ts index f4193730..e9b25936 100644 --- a/frontend/src/app/router.ts +++ b/frontend/src/app/router.ts @@ -3,6 +3,7 @@ import SellDecisionPage from '../features/sell-decision/pages/SellDecisionPage.v import DataQualityPage from '../features/data-quality/pages/DataQualityPage.vue' import ModelOperationsPage from '../features/model-operations/pages/ModelOperationsPage.vue' import UiStandardPage from '../features/ui-standard/pages/UiStandardPage.vue' +import WbsWorkspacePage from '../features/wbs/pages/WbsWorkspacePage.vue' import RiskDashboard from '../features/portfolio/pages/RiskDashboard.vue' import RebalanceForm from '../features/portfolio/pages/RebalanceForm.vue' import MarketDataIngestion from '../features/marketData/pages/MarketDataIngestion.vue' @@ -19,6 +20,7 @@ export const router = createRouter({ { path: '/ops/market-data-history', component: IngestionStatus, meta: { screenId: 'SCR-017', templateId: 'T08' } }, { path: '/portfolio/risk', component: RiskDashboard, meta: { screenId: 'SCR-018', templateId: 'T07' } }, { path: '/portfolio/rebalance', component: RebalanceForm, meta: { screenId: 'SCR-019', templateId: 'T03' } }, - { path: '/internal/ui-standard', component: UiStandardPage, meta: { screenId: 'SCR-DEV-001', templateId: 'T01', internalOnly: true } } + { path: '/internal/ui-standard', component: UiStandardPage, meta: { screenId: 'SCR-DEV-001', templateId: 'T01', internalOnly: true } }, + { path: '/internal/wbs', component: WbsWorkspacePage, meta: { screenId: 'SCR-DEV-002', templateId: 'T01', internalOnly: true } } ] }) diff --git a/frontend/src/features/ui-standard/pages/UiStandardPage.vue b/frontend/src/features/ui-standard/pages/UiStandardPage.vue index 80fb8f48..21c39a82 100644 --- a/frontend/src/features/ui-standard/pages/UiStandardPage.vue +++ b/frontend/src/features/ui-standard/pages/UiStandardPage.vue @@ -19,7 +19,15 @@ const columns: UiGridColumn[] = [{ field: 'id', header: '화면 ID', width: 100 +
+

컴포넌트 동작 프리뷰

공유 UI 포트를 실제 상태로 확인하는 내부 전용 카탈로그입니다.

+
+

Actions

+

Status

+

Inputs

+
+
- + diff --git a/frontend/src/features/wbs/pages/WbsWorkspacePage.vue b/frontend/src/features/wbs/pages/WbsWorkspacePage.vue new file mode 100644 index 00000000..11cda62b --- /dev/null +++ b/frontend/src/features/wbs/pages/WbsWorkspacePage.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/src/shared/ui/layouts/AppShellLayout.vue b/frontend/src/shared/ui/layouts/AppShellLayout.vue index 963ecf9c..b854aaeb 100644 --- a/frontend/src/shared/ui/layouts/AppShellLayout.vue +++ b/frontend/src/shared/ui/layouts/AppShellLayout.vue @@ -1,5 +1,6 @@ -- 2.52.0