Zen Dark theme, revised cards, unified sheets, speed dial, colour and category settings - #109
Merged
Conversation
Implements the "Cozy Cream + Zen Dark" handoff (turns 5a to 8a): - Zen Dark: the Cream palette's dark scheme now uses the handoff's warm charcoal-green tokens; dark ships as the default brightness. Non-M3 tokens (nav ground/inactive ink, faint ink, sort pill outline, NFC button, scrim, sheet blocks) live in a DashTokens CompositionLocal. - Palette: a seven-swatch model with per-brightness spine/text/tint tones, severity colours resolved through LocalSeverityColors, and a JVM contrast test pinning every text pair at 4.5:1. - Lucide icons parsed from SVG path data; one glyph per category with keyword defaults, house-with-check for the Chores tab. - Cards: 16dp radius, 5dp spine, 38dp icon chip, meta line under the title, avatar left of the due badge, no progress bar. The done toggle keeps a 44dp touch target. - Chores/Tasks: identical header row (search, owner, zen, group/flat), NFC scan button beside the Chores title replacing the hint card, a sort pill that names key and direction in words with a picker sheet (persisted), category grouping in catalog order, and a summary bar. - Sheets: shared parts (header, DONE control, primary row, utility row, tertiary links, settings rows), unified Log/Done sheets with history and inline Undo, unified Edit sheets with the title as the field, a grouped settings card and category editing for chores. - Speed dial over the whole screen, active tab's item nearest the thumb. - Persistence for sort orders, colour-by mode, severity swatches and a per-device category catalog (order, icon, colour). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PnE5N3U2YmNYY3FQy3zfY
Colours: segmented "Colour chores by" (severity or category), one row per severity with the six-swatch palette (selected swatch wears an ink ring), and a live preview card that follows the choice. Categories: every category in use plus any created here, long-press drag to reorder (with Move up / Move down chips in the editor for TalkBack and keyboards), "+" in the header to add, and an inline editor per row for rename, Lucide icon and colour. Delete says where the items go and moves them to General on Supabase; General itself is pinned last and cannot be renamed, deleted or reordered. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PnE5N3U2YmNYY3FQy3zfY
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PnE5N3U2YmNYY3FQy3zfY
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PnE5N3U2YmNYY3FQy3zfY
The default chore sort is now pressure, worst first, so the status-chip tests expect never-done and stale chores ahead of aging and fresh ones. The hours-left badge test uses a mid-hour offset so truncation cannot flip it. Sage's light text tone darkens slightly so it clears 4.5:1 on its own tint, which the contrast guard test enforces. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PnE5N3U2YmNYY3FQy3zfY
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.
Summary
Implements the consolidated "Cozy Cream + Zen Dark" design handoff (turns 5a to 8a). The handoff package itself is checked in under
docs/design/cozy-cream.DashTokensCompositionLocal; other palettes derive them from their own scheme. Dark ships as the default brightness per 8a.Swatch.kt), severity colours resolved throughLocalSeverityColors, and a JVM test that pins every text/tint, text/card and text/ground pair at 4.5:1 in both themes.LucideIcons.kt), one glyph per category with keyword defaults; the Chores tab is the house-with-check glyph.AddChoreSheet). Chore category can now be edited. Dirty guard retained on every dismiss vector.Dropped / needs decision
Nothing functional was removed silently. Items that could not be built exactly as drawn, or where the handoff left a decision open:
SheetPrimaryRowif you prefer purple in light.SYSTEMas the fallback instead.showDueCountdownpreference were removed; the absolute last-done date moved into the card meta line and the sheet header.tagstable has no notes column, so the notes block exists on the task sheet only.Tests
ChoreUiStateTest,TaskUiStateTestandChoreModelTestcover the sort pill orders in both directions, category grouping order, summary labels, overdue count and the new due badge.SwatchContrastTestandCategoryCatalogTestare new. The container has no Android toolchain, so CI is the build check for this PR.🤖 Generated with Claude Code
https://claude.ai/code/session_018PnE5N3U2YmNYY3FQy3zfY
Generated by Claude Code