From 964ddff2f2ee264d29011fea4282125358f8e4b1 Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Wed, 22 Jul 2026 17:19:55 +0200 Subject: [PATCH] =?UTF-8?q?feat(board):=20drop=20budget=20=C3=BCber-tabs,?= =?UTF-8?q?=20Verlauf=20chart=20lives=20in=20donut=20card=20as=20third=20t?= =?UTF-8?q?ab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/board/sidebar.ts | 63 +++++++++-------------------------- src/server/board/styles.ts | 17 ++-------- src/server/board/v1Budget.ts | 52 ++++++++++++++++++++++++----- tests/boardV2-sidebar.test.ts | 16 ++++++--- 4 files changed, 73 insertions(+), 75 deletions(-) diff --git a/src/server/board/sidebar.ts b/src/server/board/sidebar.ts index 90f02ee..b1a47f5 100644 --- a/src/server/board/sidebar.ts +++ b/src/server/board/sidebar.ts @@ -1,38 +1,26 @@ import { throughputSeries, areaPath, dayStart } from './viewmodel.js'; /** - * Sidebar skeleton: budget card (über-tabs Token Insights | Verlauf; insight - * is the default) + live feed card. The insight pane keeps the v1 mount - * points (#budgetRows, #budgetTotal, #budgetReset, [data-budget-mode]) that - * the ported v1 budget JS (v1Budget.ts) drives; donut sub-tabs (Token/Kosten) - * are rendered by that same ported code. + * Sidebar skeleton: budget card + live feed card. The budget card has no tab + * bar of its own — the Token/Kosten/Verlauf tabs live inside the donut card + * (rendered client-side by the ported v1 budget JS in v1Budget.ts). The + * subhead keeps the v1 mount points: [data-budget-mode] (Session/Gesamt), + * #budgetTotal, #budgetReset; #budgetRows is where the donut card mounts. */ export function sidebarHtml(): string { return `