From 4ac7ba1624f313ffa87dd4dd5ad75869cf061839 Mon Sep 17 00:00:00 2001 From: Justin Visser Date: Thu, 18 Jun 2026 22:01:30 +0200 Subject: [PATCH] web: single-screen redesign with the literature levers The dashboard is now a single-screen app shell: - app-bar page tabs (Model + placeholder Explainer/Findings/Guides) via lightweight hash routing (usePage); the wordmark links home - a 2x2 graph grid that fills the viewport, rows sized to half its height so the four cells always show; a + Add tile is the 4th cell, a 5th scenario scrolls (with a reserved scrollbar gutter) - a left settings sidebar exposing the forwarding composite as grouped levers (novelty, harm awareness, program strength, plus baseline forwarding and education budget); the card is a CSS container so the sliders stack to width - a full-width dock (legend, full-width player, Export / Reach over time / Data table); the reach chart and data table open as overlays - the illustrative note moved under the hero ScenarioToolbar is removed (the + tile and the dock Export replace it). Deviates from the original ui-spec, which is amended with a pointer. --- web/src/App.vue | 202 +++++++++++++++++++++---- web/src/components/AdvancedFields.vue | 5 +- web/src/components/AppBar.vue | 124 +++++++++------ web/src/components/ControlsCard.vue | 128 ++++++++++++---- web/src/components/HeroHeadline.vue | 48 +++--- web/src/components/LeverSlider.vue | 6 +- web/src/components/NetworkView.vue | 10 ++ web/src/components/OverlayCard.vue | 115 ++++++++++++++ web/src/components/PanelGrid.vue | 138 +++++++++++++++-- web/src/components/PlaceholderPage.vue | 97 ++++++++++++ web/src/components/PlayerBar.vue | 13 +- web/src/components/ResultsTable.vue | 24 ++- web/src/components/ScenarioPanel.vue | 27 ++++ web/src/components/ScenarioToolbar.vue | 124 --------------- web/src/composables/usePage.ts | 51 +++++++ 15 files changed, 832 insertions(+), 280 deletions(-) create mode 100644 web/src/components/OverlayCard.vue create mode 100644 web/src/components/PlaceholderPage.vue delete mode 100644 web/src/components/ScenarioToolbar.vue create mode 100644 web/src/composables/usePage.ts diff --git a/web/src/App.vue b/web/src/App.vue index c8b5ff6..675c0b6 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -1,27 +1,36 @@