- API: дата старта всегда YYYY-MM-DD; фронт: parseRaceDate без двойного T00:00:00
- GET /health с version из package.json; Vite define __FRONTEND_VERSION__
- Футер с версиями клиента/сервера (BEM), сетка app-shell на три ряда
- AbortController для карточки старта; ретраи GET при 502–504 и понятные ошибки шлюза
- Русские подписи навигации/страниц, lang=ru, без английских фраз в интерфейсе
- RaceDetailsPage: show all non-null fields (officialUrl, startTime, clusterSchedule, bibPickup)
- RaceDetailsPage: add edit link and delete button with confirmation banner
- RaceFormPage: universal create/edit form with validation, auto-generated id for new races
- Router: add /races/new and /races/:raceId/edit routes
- AppLayout: add navigation link to create new race
- CSS: buttons (primary/secondary/danger), form fields, confirm banner, responsive layout
Made-with: Cursor