Widgets: bars countdown widget + unified slate/orange theme (KC-15)

- New EventBarsWidget ("Event Countdown (Bars)") using BarGrid + EventBarsView,
  with a fine "X hr, Y min left" label; registered in the bundle.
- Re-themed every home-screen widget to the shared WidgetTheme (dark slate
  background + brand orange): Day Progress, Tasks Done Today, Event Countdown
  (dots), My Tasks. Lock-screen widgets keep .thinMaterial (system-tinted).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
kutesir
2026-06-10 17:31:55 +03:00
parent 063df4ba03
commit 0362d586e5
5 changed files with 91 additions and 9 deletions

View File

@@ -458,3 +458,27 @@ Files: `ExerciseModels.swift`, `WorkoutView.swift`.
Stats are computed from the app's own per-day logs. Health (steps/kcal/resting HR +
workout dates) is already read on the Today dashboard and merged into the streak;
a Health overlay on this screen could be added later.
---
## KC-15 — Bars countdown widget + unified slate/orange widget theme
**Status:** In Progress (implemented & build-verified, pending device build)
**Reported by:** User
**Area:** Widgets
### Description
Add a bar-meter event-countdown widget (per reference screenshot) and re-theme
every widget to one look: dark slate background + brand orange, matching the app.
### Fix
- `WidgetTheme` (slate background `RGB(0.224,0.255,0.31)`, brand orange accent).
- `BarGrid` vertical-bar progress view; new `EventBarsView` + `EventBarsWidget`
("Event Countdown (Bars)", medium) reusing the existing event config/provider.
- `EventEntry.fineTimeLeft` (days → "X hr, Y min left") for the bars label.
- Re-themed all home-screen widgets to slate bg + orange: Day Progress, Tasks Done
Today, Event Countdown (dots), My Tasks. Lock-screen accessory widgets stay on
`.thinMaterial` (system-tinted on the Lock Screen).
Files: `WidgetViews.swift`, `EventCountdownWidget.swift`, `MyTasksWidget.swift`,
`KisaniCalWidgets.swift`.