Twitch-VOD-Manager/src
xRangerDE 23d0dd5829 ui: VOD list filter with persistence + Ctrl+F focus + Esc clear
Filter row above the VOD grid lets the user search the loaded archive
by title. Concrete user pain: streamers commonly have hundreds of VODs
and the current UI only supported scrolling.

- vodFilterInput / vodFilterClearBtn / vodFilterCount in index.html
- localized placeholder + clear-button title (DE + EN)
- vodFilterQuery state persisted to localStorage as
  twitch-vod-manager:vod-filter so the search bar survives reloads
- renderVODs split: it now caches lastLoadedVods + lastLoadedStreamer
  and delegates to renderVodGridFromCurrentState which applies
  filterVodsByQuery on every input event (no re-fetch)
- empty-state DOM is now built with createElement + textContent (via
  setVodGridEmptyState) instead of an innerHTML template, even for
  locale-only strings — defence in depth
- keyboard: Ctrl/Cmd+F focuses the filter when the VODs tab is active
  (Electron has no native find bar, so the default is suppressed). Esc
  clears the filter when the input has focus and content. Esc still
  closes modals first if any are open.

docs/IMPROVEMENT_LOG.md: Cycle 3 dated section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 15:43:16 +02:00
..
index.html ui: VOD list filter with persistence + Ctrl+F focus + Esc clear 2026-05-03 15:43:16 +02:00
main.ts harden: download-clip integrity + cancel tracking + decouple editor procs 2026-05-03 15:43:01 +02:00
preload.ts refactor: extract shared interfaces to src/types.ts 2026-03-20 09:44:37 +01:00
renderer-globals.d.ts feat: support parallel downloads (up to 2 simultaneous) 2026-03-20 09:54:20 +01:00
renderer-locale-de.ts ui: VOD list filter with persistence + Ctrl+F focus + Esc clear 2026-05-03 15:43:16 +02:00
renderer-locale-en.ts ui: VOD list filter with persistence + Ctrl+F focus + Esc clear 2026-05-03 15:43:16 +02:00
renderer-queue.ts ui: data-id queue lookup + persisted active tab + Esc/Ctrl+N shortcuts 2026-05-03 15:10:28 +02:00
renderer-settings.ts feat: support parallel downloads (up to 2 simultaneous) 2026-03-20 09:54:20 +01:00
renderer-shared.ts fix: persist expanded details across re-renders, guard drag-drop init against duplicates 2026-03-21 15:03:20 +01:00
renderer-streamers.ts ui: VOD list filter with persistence + Ctrl+F focus + Esc clear 2026-05-03 15:43:16 +02:00
renderer-texts.ts ui: VOD list filter with persistence + Ctrl+F focus + Esc clear 2026-05-03 15:43:16 +02:00
renderer-updates.ts release: 4.2.4 improve updater and queue persistence 2026-03-06 02:48:07 +01:00
renderer.ts ui: VOD list filter with persistence + Ctrl+F focus + Esc clear 2026-05-03 15:43:16 +02:00
styles.css fix: selector overflow for 10+ items, drag-drop status guard, filename claim set for parallel safety 2026-03-21 15:15:25 +01:00
tools.ts refactor: extract tool discovery functions to src/tools.ts 2026-03-20 10:00:51 +01:00
types.ts refactor: extract shared interfaces to src/types.ts 2026-03-20 09:44:37 +01:00
update-version-utils.ts chore: migrate repository to Codeberg, bump version to 4.2.0, update update logic 2026-03-01 20:23:21 +01:00