From 5bb8289a54e3764818a01a6a727f95050e02c5e4 Mon Sep 17 00:00:00 2001 From: Matt Edholm Date: Fri, 15 May 2026 12:17:49 -0400 Subject: [PATCH] =?UTF-8?q?feat(ui):=20v1=20desktop=20responsive=20?= =?UTF-8?q?=E2=80=94=20top=20app=20bar=20+=20content=20max-widths?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The existing PWA layout was mobile-first only: BottomNav hides at ≥960px with no replacement, leaving desktop users with zero navigation and views that stretch to viewport width. Fixes both: - New TopNav.vue mirrors BottomNav (Home / Library / Settings) but renders as a top horizontal app bar at ≥960px only. Includes the wordmark + mark. - App.vue includes alongside BottomNav so upload-flow hideNav: true still hides both. - HomeView, LibraryView, SettingsView get desktop max-widths (820 / 1100 / 720 respectively) so content centers instead of stretching to 1440+. Same cream/terracotta theme tokens, no aesthetic change — just gives v1 proper desktop chrome. Prep for v2 opt-in landing next. Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/App.vue | 2 + frontend/src/components/TopNav.vue | 164 ++++++++++++++++++ frontend/src/views/HomeView.vue | 8 + frontend/src/views/LibraryView.vue | 19 ++ frontend/src/views/SettingsView.vue | 7 + ...eView-BmPlPP7N.js => HomeView-B00rxwa3.js} | 2 +- public/build/assets/HomeView-C2phFB9E.css | 1 - public/build/assets/HomeView-CMN2y8EI.css | 1 + public/build/assets/LibraryView-B-Y4LDZI.css | 1 - ...ew-B6WLA4QD.js => LibraryView-DFJIjn5s.js} | 2 +- public/build/assets/LibraryView-DPCUHw5M.css | 1 + public/build/assets/SettingsView-D2WCX7ZL.css | 1 - public/build/assets/SettingsView-DBUrUua5.css | 1 + ...w-CnNUqOTr.js => SettingsView-KEutYoup.js} | 2 +- ...iew-DQ6J7doX.js => UploadView-DgN7UeID.js} | 2 +- public/build/assets/index-B3RcyMgN.js | 16 ++ public/build/assets/index-BlLBHR1q.css | 1 - public/build/assets/index-CH4aAMxd.js | 16 -- public/build/assets/index-CraJX9-T.css | 1 + public/build/index.html | 4 +- 20 files changed, 226 insertions(+), 26 deletions(-) create mode 100644 frontend/src/components/TopNav.vue rename public/build/assets/{HomeView-BmPlPP7N.js => HomeView-B00rxwa3.js} (99%) delete mode 100644 public/build/assets/HomeView-C2phFB9E.css create mode 100644 public/build/assets/HomeView-CMN2y8EI.css delete mode 100644 public/build/assets/LibraryView-B-Y4LDZI.css rename public/build/assets/{LibraryView-B6WLA4QD.js => LibraryView-DFJIjn5s.js} (98%) create mode 100644 public/build/assets/LibraryView-DPCUHw5M.css delete mode 100644 public/build/assets/SettingsView-D2WCX7ZL.css create mode 100644 public/build/assets/SettingsView-DBUrUua5.css rename public/build/assets/{SettingsView-CnNUqOTr.js => SettingsView-KEutYoup.js} (98%) rename public/build/assets/{UploadView-DQ6J7doX.js => UploadView-DgN7UeID.js} (99%) create mode 100644 public/build/assets/index-B3RcyMgN.js delete mode 100644 public/build/assets/index-BlLBHR1q.css delete mode 100644 public/build/assets/index-CH4aAMxd.js create mode 100644 public/build/assets/index-CraJX9-T.css diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 82bd89b..05d701b 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,4 +1,5 @@