Custom-theme accents drive nav, add menu, and top bars#92
Merged
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 (
TypeTaskContaineretc.) imported directly byDashNavGraphandAddMenuFab, so under a custom theme they stayed lavender/mint/peach, unrelated to the user's picks. Introduced aLocalTypeAccentsCompositionLocal, provided byDashTheme:primaryContainer, Chores tosecondaryContainer, Reminders totertiaryContainer(+ their on-container tones), so all three picks appear.MaterialThemetree 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 sameprimaryContainertreatment.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 (addsdata/database/,screens/reminders/,util/,widget/,di/SupabaseModule.kt, and the newerui/theme/files).Coordination note
LESSONS.mdnumbering 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.Generated by Claude Code