From 94b797dbad6f2aa5e30cb3418f064e74d15812ee Mon Sep 17 00:00:00 2001 From: "Kiimi-K2.7 Code" Date: Thu, 18 Jun 2026 14:36:04 +0800 Subject: [PATCH 1/4] feat(web): add Team Home dashboard MVP on Mission Hub MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 今日团队 tab to MissionControlPage - New team-home/ module: types, fixture, adapter, cat-handle, TeamHomePanel + 9 blocks - Derive mission phase/activeFeatureId/truthSourceUrl from BacklogItem tags - Empty fixture for baton/qualityGates/risks/memory/cvoDecisions to avoid fake states - Add --console-card-shadow token to console-tokens.css - Archive review request and screenshot in review-notes/ --- packages/web/src/app/console-tokens.css | 4 + .../mission-control/MissionControlPage.tsx | 15 +++ .../team-home/TeamHomePanel.tsx | 43 ++++++ .../mission-control/team-home/adapter.ts | 122 ++++++++++++++++++ .../team-home/blocks/ActiveMissionsTable.tsx | 64 +++++++++ .../team-home/blocks/BatonBoard.tsx | 37 ++++++ .../team-home/blocks/CVODecisionQueue.tsx | 48 +++++++ .../blocks/CultureConstitutionPanel.tsx | 31 +++++ .../team-home/blocks/QualityGateChecklist.tsx | 49 +++++++ .../team-home/blocks/RecentMemoryFeed.tsx | 51 ++++++++ .../team-home/blocks/RiskWatch.tsx | 46 +++++++ .../team-home/blocks/SharedMissionBanner.tsx | 41 ++++++ .../team-home/blocks/TeamStatusCards.tsx | 33 +++++ .../mission-control/team-home/cat-handle.ts | 36 ++++++ .../mission-control/team-home/fixture.ts | 69 ++++++++++ .../mission-control/team-home/types.ts | 96 ++++++++++++++ 16 files changed, 785 insertions(+) create mode 100644 packages/web/src/components/mission-control/team-home/TeamHomePanel.tsx create mode 100644 packages/web/src/components/mission-control/team-home/adapter.ts create mode 100644 packages/web/src/components/mission-control/team-home/blocks/ActiveMissionsTable.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/BatonBoard.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/CVODecisionQueue.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/CultureConstitutionPanel.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/QualityGateChecklist.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/RecentMemoryFeed.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/RiskWatch.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/SharedMissionBanner.tsx create mode 100644 packages/web/src/components/mission-control/team-home/blocks/TeamStatusCards.tsx create mode 100644 packages/web/src/components/mission-control/team-home/cat-handle.ts create mode 100644 packages/web/src/components/mission-control/team-home/fixture.ts create mode 100644 packages/web/src/components/mission-control/team-home/types.ts diff --git a/packages/web/src/app/console-tokens.css b/packages/web/src/app/console-tokens.css index 859a4a85e9..d8c1e8e4c5 100644 --- a/packages/web/src/app/console-tokens.css +++ b/packages/web/src/app/console-tokens.css @@ -40,6 +40,8 @@ /* ============ Shadows — elevation tokens(dark mode 自动 inset 高光) ============ */ --console-shadow-soft: var(--shadow-elevation-1); + /* Card lift — brown-tinted, used by dashboard cards across Mission Hub */ + --console-card-shadow: 0 8px 22px oklch(0.22 0.02 50 / 0.04); /* Rail (ActivityBar) active/hover lift — wider/softer than elevation-1, brown-tinted */ --console-rail-shadow: 0 5px 14px oklch(0.22 0.02 50 / 0.07); @@ -198,6 +200,8 @@ [data-theme="dark"] { /* Dark rail shadow — deeper, no brown tint to avoid muddy look on dark surfaces */ --console-rail-shadow: 0 5px 14px oklch(0 0 0 / 0.4), inset 0 1px 0 oklch(1 0 0 / 0.08); + /* Dark card lift — deeper, no brown tint */ + --console-card-shadow: 0 8px 22px oklch(0 0 0 / 0.35), inset 0 1px 0 oklch(1 0 0 / 0.06); /* Mission Control dark */ --mc-status-open-dot: #b8a88f; diff --git a/packages/web/src/components/mission-control/MissionControlPage.tsx b/packages/web/src/components/mission-control/MissionControlPage.tsx index 4d95781d71..f099cf0ca9 100644 --- a/packages/web/src/components/mission-control/MissionControlPage.tsx +++ b/packages/web/src/components/mission-control/MissionControlPage.tsx @@ -13,6 +13,7 @@ import { ImportProjectModal } from './ImportProjectModal'; import { QuickCreateForm } from './QuickCreateForm'; import { SuggestionDrawer } from './SuggestionDrawer'; import { ThreadSituationPanel } from './ThreadSituationPanel'; +import { TeamHomePanel } from './team-home/TeamHomePanel'; import { WorkflowSopPanel } from './WorkflowSopPanel'; interface BacklogListResponse { @@ -470,6 +471,18 @@ export function MissionControlPage() { )}
+