Skip to content

fix(settings): restore compact header controls - #109

Merged
cameroncuster merged 1 commit into
mainfrom
cameroncuster/compact-appearance-settings
Jul 26, 2026
Merged

fix(settings): restore compact header controls#109
cameroncuster merged 1 commit into
mainfrom
cameroncuster/compact-appearance-settings

Conversation

@cameroncuster

Copy link
Copy Markdown
Owner

Summary

  • restore compact icon-only Settings navigation on desktop and mobile
  • replace the desktop Appearance text control with an accessible 44×44 icon
  • remove the duplicate appearance selector from Settings
  • preserve deliberate spacing between the final Settings card and footer

Validation

  • pnpm run lint
  • pnpm run lint:es
  • pnpm run check
  • pnpm run test:coverage — 397/397 tests; 98.70% lines, 95.03% branches, 98.34% functions
  • focused mocked Playwright desktop — 2/2 passed
  • focused mocked Playwright mobile — 2/2 passed

Risk

Low. The change is limited to header/settings markup and matching regression coverage. Theme persistence continues through the existing shared appearance service.


Pull Request opened by Augment Code | View session

@vercel

vercel Bot commented Jul 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gitgud Ready Ready Preview, Comment Jul 26, 2026 5:29am

@cameroncuster
cameroncuster marked this pull request as ready for review July 26, 2026 05:31
@cameroncuster
cameroncuster merged commit 69ee72f into main Jul 26, 2026
14 checks passed
@cameroncuster
cameroncuster deleted the cameroncuster/compact-appearance-settings branch July 26, 2026 05:31
@cameroncuster

cameroncuster commented Jul 26, 2026

Copy link
Copy Markdown
Owner Author

PR Risk Analyzer Agent🛡️

👀 Human Input Needed
A pair-review briefing is ready for you.

→ Pair Review Briefing

@cameroncuster cameroncuster left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deep Code Review Agent🐛

Review completed with 0 suggestions.

@cameroncuster

Copy link
Copy Markdown
Owner Author

Verifier🛰️

🛰️ Verifier Report

TL;DR: Built and served the PR head against a local mock backend and drove a real browser (desktop + mobile) to exercise the compact icon-only header controls, the removal of the duplicate Settings appearance section, the footer spacing, and end-to-end theme persistence.

🔍 Walkthrough

  • Desktop Appearance control is now an icon-only button that still opens the theme popover → measured 44×44 with empty text and one SVG (on mainline it was a text button reading "Appearance"); popover opens with System selected.

    runtime measurements (from the live page, not the source)
    desktop home Appearance button: { box: 44x44, text: "", svgCount: 1 }
    popover System radio checked: true
    desktop settings header link:  { box: 44x44, text: "", svgCount: 1 }
    
  • The Settings page no longer duplicates the appearance selector and keeps its sr-only heading → live DOM has 0 "Appearance" headings and 0 theme radios, with h1.sr-only="Settings" intact (mainline rendered an Appearance section with name="settings-appearance" radios). The header Settings link is now a 44×44 gear icon (was a text link).
    settings page: only Privacy + Import cards, icon-only header controls, gap above footer

  • Deliberate space above the footer is preserved (new mb-16 md:mb-20 on the last card) → measured a 212px gap between the last main section and the footer (spec floor is 60px).

  • Mobile keeps appearance in the header menu and the Settings gear icon; no duplicate section on the page → live menu shows System/Light/Dark and a 44×44 icon Settings link with empty text.
    mobile menu: Appearance System/Light/Dark and gear-icon Settings

  • Theme persistence still runs through the shared appearance service → picking Dark from the header popover set data-theme="dark" and gitgud-theme=dark, surviving a reload with the Dark radio still checked — confirming removing the settings control didn't break theme saving. Zero console errors / failed requests on either viewport.

    persistence trace
    initial: data-theme=light, gitgud-theme=system
    pick Dark: data-theme=dark, gitgud-theme=dark
    after reload: data-theme=dark, gitgud-theme=dark, Dark radio checked
    console errors: 0
    
📋 Scope

Under test: Restores compact icon-only header controls — desktop Appearance becomes an accessible 44×44 icon, desktop/mobile Settings become gear icons, the duplicate Appearance section is removed from /settings, and the final card keeps responsive footer spacing.

Not tested:

  • Cross-browser rendering beyond Chromium (drove Chromium only, matching the repo's Playwright target).
  • Real Supabase theme persistence for a signed-in account (served against the repo's hermetic local mock; live smoke is opt-in and read-only).
  • Unit/e2e specs in the diff (CI-owned; not re-run as verification).

📦 Artifacts · run log · desktop home · popover · settings · mobile menu · dark applied


Don't like what you see? Add a verification skill so the next run tests this kind of change.

Want another run? Comment cosmos verify on this pull request.

👍 / 👎 · View session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant