Skip to content

Custom-theme accents drive nav, add menu, and top bars#92

Merged
mapgie merged 1 commit into
mainfrom
claude/custom-theme-colors-bug-pd7fek
Jul 13, 2026
Merged

Custom-theme accents drive nav, add menu, and top bars#92
mapgie merged 1 commit into
mainfrom
claude/custom-theme-colors-bug-pd7fek

Conversation

@mapgie

@mapgie mapgie commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Follow-up to the merged surfaces fix (#85). That PR made custom-theme surfaces clean; this makes the custom-theme seed colours actually drive the app chrome, per feedback that two of the three picks (secondary/tertiary) never showed and the nav/menu clashed.

Changes

Accents follow the custom theme. The Tasks/Chores/Reminders accent tones (bottom nav indicator + selected icon/text, and the add-menu FABs) were fixed top-level constants (TypeTaskContainer etc.) imported directly by DashNavGraph and AddMenuFab, so under a custom theme they stayed lavender/mint/peach, unrelated to the user's picks. Introduced a LocalTypeAccents CompositionLocal, provided by DashTheme:

  • Built-in palettes → the fixed identity tones (unchanged; the documented cross-palette stability is preserved).
  • Custom theme → Tasks maps to primaryContainer, Chores to secondaryContainer, Reminders to tertiaryContainer (+ their on-container tones), so all three picks appear.
  • Glance home-screen widgets keep importing the fixed constants (they render outside the MaterialTheme tree and can't read the CompositionLocal).

Consistent top bars. The Reminders and Settings-main screens had untinted top bars while the settings sub-screens used primaryContainer (the sub-screen scaffold comment even claimed it matched the main list). All now use the same primaryContainer treatment.

Docs.

  • LESSONS.md: fixed a pre-existing duplicate lesson number (two ## 27) and a 24/25 ordering slip, so the tail is now unique and ascending; added lesson Add Zen mode and due countdown to Chores, align date display with web #30 on the accent-CompositionLocal pattern.
  • README.md: refreshed the project-structure tree (adds data/database/, screens/reminders/, util/, widget/, di/SupabaseModule.kt, and the newer ui/theme/ files).

Coordination note

LESSONS.md numbering is a recurring merge-conflict source (the very problem the changelog fragment system was built to avoid). This PR renumbers the surfaces lesson to #29. Open PR #90 currently adds its notification-channel lesson as #29; once this merges, PR #90 should renumber its entry to #31 (after this PR's #30) and rebase.

Verification

  • python3 a11y_check.py → all clean.
  • No behaviour change for built-in palettes (accents still resolve to the fixed identity tones).
  • App build validated by CI (no Android SDK in the dev environment).

Generated by Claude Code

Re-applies the custom-theme accent work on top of v0.23.0 (the original
branch was merged as the surfaces fix, so this is fresh follow-up).

The content-type accents (Tasks/Chores/Reminders tones on the bottom nav
indicator and the add-menu FABs) were fixed top-level constants imported
directly by the nav graph and the FAB, so under a custom theme they read
as lavender/mint/peach unrelated to the user's pink/green/blue picks. Two
list screens also had untinted top bars while the settings sub-screens
used primaryContainer, so the bar treatment was inconsistent.

Introduce a LocalTypeAccents CompositionLocal provided by DashTheme: it
defaults to the fixed identity tones for the built-in palettes and maps
the accents onto the primary/secondary/tertiary container roles for the
custom theme. The nav graph and AddMenuFab read the local instead of the
constants (Glance widgets keep the fixed constants by design). Give the
Reminders and Settings top bars the same primaryContainer treatment as
the sub-screens.

Docs: fix a pre-existing duplicate lesson number and 24/25 ordering in
LESSONS.md (now unique and ascending), add the accent-CompositionLocal
lesson, and refresh the README project-structure tree (database/,
reminders/, util/, widget/, SupabaseModule).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0154oNEvwJNtprknEQfFAyND
@mapgie mapgie marked this pull request as ready for review July 13, 2026 09:04
@mapgie mapgie merged commit 25c1845 into main Jul 13, 2026
4 checks passed
@mapgie mapgie deleted the claude/custom-theme-colors-bug-pd7fek branch July 13, 2026 09:04
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.

2 participants