75 lines
3 KiB
Markdown
75 lines
3 KiB
Markdown
# 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
|