From a0edbe7d207a2f90824b29ba99111c608bf48215 Mon Sep 17 00:00:00 2001 From: Dorian Date: Wed, 4 Mar 2026 13:09:29 +0000 Subject: [PATCH] =?UTF-8?q?fix(app):=20iOS=20HIG=20Phase=205=20=E2=80=94?= =?UTF-8?q?=20glass=20button=20system=20&=20.touch-target=20utility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add responsive glass-button-sm: 44px min-height on mobile (≤768px) - Replace !h-7 !min-h-0 overrides with responsive min-h-[44px] md:min-h-0 - Add .touch-target utility class (44px min, inline-flex centered) - Refactor 21 icon buttons to use .touch-target class Co-Authored-By: Claude Opus 4.6 --- loop/plan.md | 8 ++++---- .../app/src/components/chat/BranchSwitcher.vue | 2 +- .../app/src/components/chat/ChatHeader.vue | 18 +++++++++--------- packages/app/src/components/chat/ChatInput.vue | 4 ++-- .../app/src/components/chat/ChatMessage.vue | 16 ++++++++-------- .../app/src/components/chat/ChatSearch.vue | 6 +++--- .../src/components/content/ContentPanel.vue | 2 +- packages/app/src/styles/main.css | 18 ++++++++++++++++++ 8 files changed, 46 insertions(+), 28 deletions(-) diff --git a/loop/plan.md b/loop/plan.md index 46da0ebe..7f1e8d7e 100644 --- a/loop/plan.md +++ b/loop/plan.md @@ -44,13 +44,13 @@ ## Phase 4: Touch Target Gaps & ContentPanel Tab Bar -- [ ] **T14** — Fix ContentPanel.vue tab bar. Tab buttons likely have `gap-1` (4px) between them. Increase to `gap-2` (8px). Ensure each tab button has at least 44px height. The tab labels should use `text-xs` minimum (from Phase 1 fixes). The tab bar should be horizontally scrollable on mobile with sufficient padding. +- [x] **T14** — Fix ContentPanel.vue tab bar. Tab buttons likely have `gap-1` (4px) between them. Increase to `gap-2` (8px). Ensure each tab button has at least 44px height. The tab labels should use `text-xs` minimum (from Phase 1 fixes). The tab bar should be horizontally scrollable on mobile with sufficient padding. -- [ ] **T15** — Audit and fix ALL remaining `gap-0.5` and `gap-1` between clickable elements. Search all `.vue` files for `gap-0.5` and `gap-1`. For each result, check if the container holds clickable elements (buttons, links, tabs). If so, increase to `gap-2` (8px). Leave non-clickable layout gaps (like text spacing) unchanged. +- [x] **T15** — Audit and fix ALL remaining `gap-0.5` and `gap-1` between clickable elements. Search all `.vue` files for `gap-0.5` and `gap-1`. For each result, check if the container holds clickable elements (buttons, links, tabs). If so, increase to `gap-2` (8px). Leave non-clickable layout gaps (like text spacing) unchanged. -- [ ] **T16** — Fix grid card touch targets. In all `*Grid.vue` components, verify that cards have sufficient tap area. Cards themselves are usually fine (full-width), but action buttons within cards (favorite, play, expand) need 44px targets. Check: `FilmGrid.vue`, `SongGrid.vue`, `BookGrid.vue`, `TVSeriesGrid.vue`, `PodcastGrid.vue`, `AppsGrid.vue`, `ArchyAppsGrid.vue`, `ImageGrid.vue`, `PlaceGrid.vue`. +- [x] **T16** — Fix grid card touch targets. In all `*Grid.vue` components, verify that cards have sufficient tap area. Cards themselves are usually fine (full-width), but action buttons within cards (favorite, play, expand) need 44px targets. Check: `FilmGrid.vue`, `SongGrid.vue`, `BookGrid.vue`, `TVSeriesGrid.vue`, `PodcastGrid.vue`, `AppsGrid.vue`, `ArchyAppsGrid.vue`, `ImageGrid.vue`, `PlaceGrid.vue`. -- [ ] **TEST:P4** — Run `pnpm typecheck && pnpm lint && pnpm test`. Commit and push. +- [x] **TEST:P4** — Run `pnpm typecheck && pnpm lint && pnpm test`. Commit and push. ## Phase 5: Glass Button System & Utility Classes diff --git a/packages/app/src/components/chat/BranchSwitcher.vue b/packages/app/src/components/chat/BranchSwitcher.vue index 542f1c39..13b4aaaa 100644 --- a/packages/app/src/components/chat/BranchSwitcher.vue +++ b/packages/app/src/components/chat/BranchSwitcher.vue @@ -3,7 +3,7 @@ v-if="branches.length > 1" class="flex items-center justify-center px-4 py-1.5 animate-fade-up-fast" > -
+
diff --git a/packages/app/src/components/chat/ChatSearch.vue b/packages/app/src/components/chat/ChatSearch.vue index 9ff589db..0a3a1034 100644 --- a/packages/app/src/components/chat/ChatSearch.vue +++ b/packages/app/src/components/chat/ChatSearch.vue @@ -22,7 +22,7 @@ {{ matchCount > 0 ? `${currentMatchIndex + 1}/${matchCount}` : 'No results' }}