kimai-plugin-heatmap/.planning/phases/07-mode-switcher-week-mode/07-DISCUSSION-LOG.md

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