Commit graph

3 commits

Author SHA1 Message Date
pepaskopec-blip
4566336b1b Make the learning path show one next step and a real finish flag.
Every unlocked unit carried the "current" class, so three nodes lit up
identically and none of them pointed anywhere. Mark only the first
unlocked unit that is not finished; the rest stay open but quiet.

The finish node filled its whole circle with chequers, which read as the
placeholder pattern for a missing image rather than as a flag, most of
all in light mode. Give it the plain face the other locked nodes have and
put the chequers in a small badge where they show a padlock.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 15:22:35 +02:00
pepaskopec-blip
ae56a1c1da Rework the interface into a consistent visual system.
Replace the accumulated per-widget decoration with short, documented
scales for type, weight, radius and motion. Fills are flat and elevation
is neutral, so accent colour marks state instead of decorating: the
gradients on buttons, pills, nodes and progress bars are gone, along with
the coloured glow shadows and the triple ring on the current unit.

Drop draw_node_halo() and the gradient aura on the learning path, which
painted the same bloom in the cairo layer.

Give the welcome page the app icon, a single-colour heading and an
unboxed paragraph. Restore keyboard focus rings, which were suppressed
everywhere, and clamp exercise bodies to a readable measure on wide
windows.

Fix two layout bugs found on the way: the statistics metric cards were
unequal because hexpand only shares leftover space, and a fraction of
zero still painted a stub of accent colour because GTK gives the progress
node a minimum width.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 14:17:34 +02:00
56fe5ae6fc Split the UI code into multiple files 2026-09-11 11:42:13 +02:00