mapdash/frontend
aaverbitskiy 52a1a7cb2d ui: active-filter chips, empty/loading states, focus/animation polish
- Active-filter chips row under the header: one chip per selected city / brand /
  dimension / manager / status plus search and date bounds, each removable; a
  "Сбросить всё" clears everything. Dropdown gains setSelected()/clear().
- Empty states for the timeline and map: icon + title + subtitle + "Сбросить
  фильтры" button (wired to the same reset). (empty toggled to display:flex.)
- Delayed indeterminate loading bar (250ms threshold so fast loads don't flash),
  covering both the data and the map fetches via an in-flight counter.
- Polish: pop-in animation for dropdown/appearance menus, :focus-visible accent
  rings, :active press on buttons, thin themed scrollbars in panels, tabular
  figures on the timeline date axis and tooltips. New components use the Open
  Props --size-* spacing scale.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-10 16:28:51 +00:00
..
src ui: active-filter chips, empty/loading states, focus/animation polish 2026-08-10 16:28:51 +00:00
index.html ui: active-filter chips, empty/loading states, focus/animation polish 2026-08-10 16:28:51 +00:00
package-lock.json design: adopt Open Props tokens, indigo accent + IBM Plex Sans, collision colour 2026-08-06 21:15:50 +00:00
package.json design: adopt Open Props tokens, indigo accent + IBM Plex Sans, collision colour 2026-08-06 21:15:50 +00:00
tsconfig.json frontend: Vite+TypeScript scaffold (types, api) — not wired to static yet 2026-07-17 15:41:13 +00:00
vite.config.ts frontend: full modular migration (collisions/dropdown/timeline/styles), staged at /next/, prod unchanged 2026-07-17 16:17:00 +00:00