Build the Today dashboard with stat cards

Changed

Context

The front page /chores-dashboard is the page display of views.view.chores_dashboard, with five attachments stacked above it: chores_2_daily, chores_1_today, chores_3_pinned, chores_4_overdue, chores_5_new. Each one fakes its title in a header area, and chores_5_new carries the log list's title in its footer, shown when it has no results. #322 dealt with their order.

The mockup in #338 replaces this with a Today page: date, "X of Y done today" progress, stat cards (Due today, Overdue, This week, This month) and a Today list with sub-chore progress.

Decisions

  • Build it in mantra_starter and existing modules: views, a layout, the theme's SDC components (card, card_grid, table, details) through ui_patterns. No custom styling work.
  • Used from a phone to log, from a desktop to manage. The page has to work in one column.
  • Today list = the Today bucket defined in #339.

Ideas

  • Separate view block displays for Today, the stat cards and the progress, placed by a layout (mantra_layout or Layout Builder), instead of attachments with title hacks.
  • Each Today row: tick (#340), title, location, frequency, sub-chore progress n/m, link to the chore's checklist (#342).
  • Sub-chore progress = due or overdue sub chores logged today / due or overdue sub chores.

TODO

  • [ ] Today list block display.
  • [ ] Stat cards: Due today, Overdue, This week, This month.
  • [ ] "X of Y done today" progress.
  • [ ] A layout arranging the blocks; make it the front page.
  • [ ] Retire the chores_dashboard attachments and their header/footer title hacks; keep the new, overdue and pinned pages only if something still links to them.

Done when

  • / on a phone shows the date, progress, the four stat cards and the Today list, in one column.
  • Logging a chore from the list updates the progress and the cards.
  • views.view.chores_dashboard no longer has attachments whose titles are faked in header or footer areas.
Task type
Project
Parent task