From 69c53d57a7caaf619304c57e5508b8e59f465aa4 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Mon, 15 Jun 2026 17:05:07 +0900 Subject: [PATCH] fix: apply bandscope shell branding --- apps/desktop/src/App.test.tsx | 6 ++- apps/desktop/src/App.tsx | 44 +++++++++++++++---- .../src/features/workspace/GrooveMap.tsx | 44 +++++++------------ .../src/features/workspace/Workspace.test.tsx | 21 +++++++++ apps/desktop/src/index.css | 8 ++++ 5 files changed, 84 insertions(+), 39 deletions(-) diff --git a/apps/desktop/src/App.test.tsx b/apps/desktop/src/App.test.tsx index 32f91554..503f2fb5 100644 --- a/apps/desktop/src/App.test.tsx +++ b/apps/desktop/src/App.test.tsx @@ -179,6 +179,8 @@ describe("App", () => { it("renders the rehearsal cockpit shell before analysis starts", () => { render(); + expect(screen.getByRole("img", { name: /BandScope circular equalizer mark/i })).toBeTruthy(); + expect(screen.getByText(/Your rehearsal map stays on this device/i)).toBeTruthy(); expect(screen.getByRole("navigation", { name: /primary rehearsal views/i })).toBeTruthy(); expect(screen.getByRole("heading", { name: /Workspace Home/i })).toBeTruthy(); expect(screen.getByText(/SYNCED • LOCAL/i)).toBeTruthy(); @@ -189,8 +191,8 @@ describe("App", () => { expect(screen.getByText(/^Tempo$/i)).toBeTruthy(); expect(screen.getByText(/^Key$/i)).toBeTruthy(); expect(screen.getByText(/Local-first/i)).toBeTruthy(); - expect(screen.getByText(/Local project data stays on this device/i)).toBeTruthy(); - expect(screen.getByText(/YouTube import contacts the source provider/i)).toBeTruthy(); + expect(screen.getByText(/Project files stay local/i)).toBeTruthy(); + expect(screen.getByText(/YouTube only leaves the app when you choose import/i)).toBeTruthy(); }); it("renders the loaded song as a dark rehearsal command board", async () => { diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 13b294dc..94d5df92 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -59,6 +59,8 @@ const NAV_ITEMS = [ { label: "Notes", icon: FileMusic, active: false } ] as const; +const BRAND_BAR_HEIGHTS = ["h-3", "h-5", "h-7", "h-4", "h-6"] as const; + /** Documented. */ function progressMessage( t: ReturnType, @@ -76,6 +78,27 @@ function progressMessage( } } +/** Documented. */ +function BandScopeMark() { + return ( + +