fix(ui): simplify theme controls #18

Merged
eleith merged 1 commits from feat/login-theme-control into main 2026-11-10 22:56:31 +00:00

Summary

  • Remove the theme switcher from the sign-in card/page, matching Directory and When.
  • Use a compact Phosphor Moon/Sun/Faders icon button in the admin header, with visually hidden action labels and decorative, nonfocusable SVGs.
  • Keep the existing component-local theme cycle, saved preference, system-theme resolution, early nonce-bearing initialization and root OS listener unchanged. Authentication and sign-in logic are unchanged.

The implementation follows Directory cd8f8e12 and When f2be42a without adding a theme store/service or a generic Button wrapper. It retains Goto's existing 48px control target and shared focus/hover/disabled styles.

Add the exact reference build-time dependencies (unplugin-icons 23.0.1 and @iconify-json/ph 1.2.2), native Svelte icon compiler wiring and supplied TypeScript declarations. Icons compile to inline SVG; no runtime CDN, automatic package installation or CSP exception is introduced. Dependencies were installed by the owner.

One commit, eight files, including fixed app-group patch metadata. No new tests or test infrastructure; the drafted theme-specific E2E was removed as requested, and existing tests/checks were not changed or weakened.

Verification

All four independent reviews are clean: readability, correctness/security, test quality and explicit reference parity.

pnpm verify passed:

  • Schema drift, workspace builds, TypeScript, Prettier and ESLint.
  • Svelte: 0 errors, 0 warnings.
  • Existing 528 workspace unit tests, 6 script tests, 8 Chromium production-build E2E tests and 5 worker service process cases.

Changeset status and whitespace checks passed. All eight committed blobs match the final reviewed/passing source hashes. Existing checks exercise normal app/auth/header integration, not dedicated theme visual, keyboard, storage or OS-change assertions.

Docker was not agent-run. Development containers need one image rebuild for the new build dependencies; ordinary source HMR remains unchanged. Remote CI must pass before merge.

## Summary - Remove the theme switcher from the sign-in card/page, matching Directory and When. - Use a compact Phosphor Moon/Sun/Faders icon button in the admin header, with visually hidden action labels and decorative, nonfocusable SVGs. - Keep the existing component-local theme cycle, saved preference, system-theme resolution, early nonce-bearing initialization and root OS listener unchanged. Authentication and sign-in logic are unchanged. The implementation follows Directory `cd8f8e12` and When `f2be42a` without adding a theme store/service or a generic Button wrapper. It retains Goto's existing 48px control target and shared focus/hover/disabled styles. Add the exact reference build-time dependencies (`unplugin-icons` 23.0.1 and `@iconify-json/ph` 1.2.2), native Svelte icon compiler wiring and supplied TypeScript declarations. Icons compile to inline SVG; no runtime CDN, automatic package installation or CSP exception is introduced. Dependencies were installed by the owner. One commit, eight files, including fixed app-group patch metadata. No new tests or test infrastructure; the drafted theme-specific E2E was removed as requested, and existing tests/checks were not changed or weakened. ## Verification All four independent reviews are clean: readability, correctness/security, test quality and explicit reference parity. `pnpm verify` passed: - Schema drift, workspace builds, TypeScript, Prettier and ESLint. - Svelte: **0 errors, 0 warnings**. - Existing **528 workspace unit tests**, **6 script tests**, **8 Chromium production-build E2E tests** and **5 worker service process cases**. Changeset status and whitespace checks passed. All eight committed blobs match the final reviewed/passing source hashes. Existing checks exercise normal app/auth/header integration, not dedicated theme visual, keyboard, storage or OS-change assertions. Docker was not agent-run. Development containers need one image rebuild for the new build dependencies; ordinary source HMR remains unchanged. Remote CI must pass before merge.
eleith-gitea-agent Bot added 1 commit 2026-11-10 19:47:45 +00:00
fix(ui): simplify theme controls
ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/db Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/cli Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
c0723a6bf9
eleith merged commit c0723a6bf9 into main 2026-11-10 22:56:31 +00:00
eleith deleted branch feat/login-theme-control 2026-11-10 22:56:31 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/goto#18