The chip filters (watch/date/size/subs/chapters) were session-only. Add saveable named presets, finishing the last small Phase-1 line. - ★ Save preset button (shown when any filter is active) → names the current chip set via prompt and stores it. - Saved presets render as chips in the filter row; click to apply, the inline ✕ deletes. The preset matching the current filters is highlighted. - Persisted under their own `filter-presets` localStorage key so they survive clearFilters() and aren't entangled with view state. Handlers are index-based (not name-based) so preset names containing quotes/apostrophes can't break the inline onclick — the list re-renders after every change so indices always track the DOM. Same-name save overwrites rather than duplicating. Web-only: the desktop UI has no chip filters. Verified the save/apply/ delete/match/overwrite logic in isolation; JS syntax-checked; builds. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| index.html | ||
| login.html | ||