diligence/frontend/src
claude 9a306bc250 Fix: program workout shortcut now appears under Workout category
Two bugs fixed:

1. Backend: list_programs endpoint did not include catalog_id in its
   response, so the frontend filter (p.catalog_id) always matched zero
   programs. The previous LogActivity card never rendered because
   loadActiveProgram() found no active program with a catalog link.
   Now also exposes current_week.

2. UX restructure: instead of showing the program workout card at the
   top of /log unconditionally, the card now appears AFTER the user
   selects the 'Workout' category — matching the natural flow:
   Log -> Workout -> see today's program workout option.

   The Workout category now reveals:
   - Active program banner (clickable, shows program name + week,
     navigates to ProgramDetail on tap)
   - Today's workout card with exercise preview and one-tap 75 pts
   - Other uncompleted workouts in the current week (up to 3)
   - 'Or log freeform' divider before the existing form

   When all workouts in the current week are done, a green completion
   banner appears instead.

Refactored the workout card into a ProgramWorkoutCard component since
it's now used for both today's featured workout and weekly upcoming.
2026-04-09 16:13:47 +00:00
..
pages Fix: program workout shortcut now appears under Workout category 2026-04-09 16:13:47 +00:00
api.js v2: In-app support chat with Telegram notifications (REVIEW — not deployed) 2026-04-06 04:44:29 +00:00
App.jsx Fix: add CatalogDetail page and /catalog/:id route 2026-04-09 15:52:03 +00:00
index.css Redesign v2: Solar Momentum — bold, bright, energetic 2026-03-15 11:11:23 +00:00
main.jsx Initial commit: full fitness-rewards app 2026-03-14 23:53:00 +00:00