3 KiB
Phase 7: Mode Switcher + Week Mode - Discussion Log
Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
Date: 2026-04-09 Phase: 07-mode-switcher-week-mode Areas discussed: Mode Switcher UI, Week-Mode Visualization, Hours/Count Toggle, Stats Adaptation Mode: --auto (all decisions auto-selected)
Mode Switcher UI
| Option | Description | Selected |
|---|---|---|
| Segmented control in header | Placed in Tabler card header next to title, btn-group style | ✓ |
| Dropdown in header | Select element like the project filter | |
| Tabs below header | Tab bar between header and heatmap content |
User's choice: [auto] Segmented control in header (recommended default — matches SC1 requirement and Tabler card conventions) Notes: Kimai uses Tabler UI framework. Segmented controls via btn-group are native to the design system.
Week-Mode Visualization
| Option | Description | Selected |
|---|---|---|
| Horizontal heatmap cells | 7 cells (one per weekday), colored by aggregate metric | ✓ |
| Vertical bar chart | 7 bars showing aggregate values per weekday | |
| Grid matching year layout | 1-row x 7-col grid reusing year-mode cell styling |
User's choice: [auto] Horizontal heatmap cells (recommended default — simplest visualization revealing weekday patterns, closest to heatmap metaphor) Notes: Client-side aggregation from existing DayEntry[] data. No backend changes needed per STATE.md decision.
Hours/Count Toggle
| Option | Description | Selected |
|---|---|---|
| Separate segmented control | Small toggle adjacent to mode switcher in header | ✓ |
| Merged into mode switcher | Combined control (Year-Hours, Year-Count, Week-Hours, etc.) | |
| Icon toggle button | Single button that cycles between hours/count |
User's choice: [auto] Separate segmented control (recommended default — keeps mode and metric concerns separate, cleaner UX) Notes: Toggles state.metric, triggers re-render without data re-fetch. Year-mode already supports metric-aware fill from Phase 6.
Stats Adaptation
| Option | Description | Selected |
|---|---|---|
| Claude's Discretion | Stats can adapt per mode or remain consistent | ✓ |
| Mode-specific stats | Different stat values per visualization mode | |
| Always show year stats | Keep stats unchanged regardless of mode |
User's choice: [auto] Claude's Discretion (recommended default — secondary concern, implementation can optimize) Notes: Stats behavior in week-mode is a detail best resolved during implementation.
Claude's Discretion
- Week-mode cell sizing and spacing
- Week-mode cell click behavior
- Stats row adaptation per mode
- Exact Tabler CSS classes for controls
- Mode switch animation/transitions
Deferred Ideas
None — discussion stayed within phase scope