From b05feff2261720cddddab3e15da8d155e0b16e57 Mon Sep 17 00:00:00 2001 From: cl Date: Tue, 12 May 2026 17:56:23 +0800 Subject: [PATCH 1/5] Add project grouping to dashboard --- src/dashboard-html.ts | 13 +++- src/dashboard-js-part1.ts | 11 ++- src/dashboard-js-part2.ts | 22 ++++-- src/dashboard-js-part3.ts | 10 ++- src/dashboard.ts | 75 ++++++++++++++++----- src/db.ts | 5 +- src/index.ts | 7 +- src/recovery.ts | 27 ++++---- src/schema.ts | 104 +++++++++++++++++++++++++++++ src/tools/team-cleanup.ts | 17 +++-- src/tools/team-create.ts | 22 ++++-- src/util.ts | 17 +++++ test/dashboard-ui-contract.test.ts | 21 +++++- test/dashboard.test.ts | 35 +++++++++- test/db.test.ts | 33 +++++++-- test/helpers.ts | 8 ++- test/recovery.test.ts | 73 +++++++++++++++++++- test/tools/team-create.test.ts | 31 +++++++++ test/tools/team-lifecycle.test.ts | 16 +++++ 19 files changed, 474 insertions(+), 73 deletions(-) diff --git a/src/dashboard-html.ts b/src/dashboard-html.ts index 1b5d090..52fe0f2 100644 --- a/src/dashboard-html.ts +++ b/src/dashboard-html.ts @@ -27,6 +27,10 @@ export const DASHBOARD_HEAD = ` details summary::-webkit-details-marker{display:none}details summary{list-style:none} :focus-visible{outline:2px solid rgba(96,165,250,.85);outline-offset:2px} select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%235e6a82' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:22px} +.project-link[aria-current="true"]{color:#e2e8f0} +.team-link[aria-current="true"]{color:#e2e8f0;border-left-color:#22c55e;background:rgba(34,197,94,.06)} +#content.nav-collapsed{grid-template-columns:minmax(0,1fr)} +#content.nav-collapsed #projects{display:none} .xp{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.xp-open{max-height:3000px;transition:max-height .5s ease-in} .card-sel{outline:2px solid rgba(59,130,246,.4);outline-offset:1px} .md pre{background:#1a1f2e;border:1px solid #1e2433;border-radius:6px;padding:8px 12px;overflow-x:auto;margin:6px 0;font-size:12px;line-height:1.5} @@ -47,8 +51,8 @@ select{-webkit-appearance:none;appearance:none;background-image:url("data:image/
ensemble -| - + +
@@ -67,7 +71,9 @@ select{-webkit-appearance:none;appearance:none;background-image:url("data:image/
Waiting for a team
Run team_create in OpenCode to get started
-