Commit Graph
4 Commits
Author SHA1 Message Date
andrew d7d146e586 Full-screen dog loader overlay with dim background and input blocking
- DogLoader now covers the whole window (dock top + _loading layer),
  dims the dashboard behind it ($background 80%), draws a centered
  rounded panel with a running ASCII dog and a 🐾 paw trail
- block keyboard bindings (check_action) and drop focus while refreshing;
  restore focus to models table afterwards
- removed the docked progress line (covered by the overlay)
- docs updated; tests: full-screen coverage + input blocking
2026-09-10 13:30:00 +03:00
andrew 148e0a9391 Fix: use 'refreshing' reactive to avoid Textual built-in loading dots
Widget.loading is a Textual built-in reactive that swaps the widget for the
default dots spinner. Our dashboard used the same name, so setting it True
activated the built-in indicator (dots) instead of the dog loader. Renamed
to 'refreshing' and assert app.screen.loading stays False in tests.
2026-09-10 13:00:36 +03:00
andrew 9f25d37b6e Add dog ASCII animation on statistics refresh (task #1)
- DogLoader widget: ASCII dog animating while data loads, shown as a
  centered overlay and a docked progress line on the dashboard
- shown on timer auto-refresh and manual refresh (r)
- bump version to 1.0.4; CHANGELOG + README updated
- tests: hidden when idle, shown during refresh, frame animation
2026-09-10 11:51:14 +03:00
andrew f95223b88b Initial import: selectel-ml-tui TUI for Selectel AI-router token usage 2026-09-02 16:38:03 +03:00