v0.12.1
Codebase Deduplication
- Removed duplicate
@keyframes spinfrom 8 CSS files (consolidated in shared/common.css) - Replaced duplicate loading/error CSS with shared
loading-stateanderror-bannerclasses - Renamed conflicting
@keyframes pulseto@keyframes status-pulsein StatusIndicator - Extracted shared
httpClient.ts(fetchJson/fetchText/buildQuery) — eliminated duplicate HTTP utilities across api.ts and autoCreationApi.ts - Consolidated 16+ formatting functions into shared
utils/formatting.ts— removed duplicates from 10 component files - Replaced 48 hardcoded
rgba(100,108,255,...)values with CSS custom properties (--accent-5through--accent-80) across all three themes
Quality Condition Dropdown
- Changed quality condition input from free-form number to a dropdown with standard resolution presets: UHD/4K (2160p), FHD/1080p, HD/720p, SD/480p, 360p
Stats
- ~320 net lines removed across 44 files
- All 675 unit tests pass, all 19 Playwright smoke tests pass