Fixed bar at bottom of window when video is playing. Shows title, channel, progress, play/pause toggle. Click to restore player view. Files: - frontend/index.html: mini-bar markup - frontend/app.js: showMiniBar/hideMiniBar/updateMiniBar, wiring - frontend/styles.css: .mini-bar, .mini-bar-inner, .mini-progress styles
1.9 KiB
1.9 KiB
YT Player — Improvement Backlog
The /loop works through this top-to-bottom, one item per iteration. Tick an item
([x]) only after it builds, verifies, and is committed + pushed. Add new ideas to the
bottom as they come up.
Build & verify protocol (every iteration)
- Edit the canonical source in WSL (
~/development/personal/ytplayer). - Sync changed files individually into
C:\ytbuild\ytplayer— neverCopy-Item -Recurseonto an existing dir (it nests asfrontend\frontend). npx tauri buildinC:\ytbuild\ytplayer.- Launch with
--remote-debugging-port=922xand verify via CDP/screenshot (retry the launch a few times — Smart App Control is intermittent). - Only if it builds and verifies: refresh
releases/, commit (no AI attribution),git push origin main, then tick the item here.
UX / polish
- Empty-state designs for empty playlists and empty history (match the new hero).
- Loading skeletons for search results instead of a bare "Searching…".
- Keyboard-shortcut help overlay (press
?), listing space / arrows / f / m. - Download/preload progress indicator on cards (percent or a bar, not just a pulse).
- Remember and restore the last playback position per video.
- Toast queue (stack multiple toasts instead of replacing).
Features
- Drag-to-reorder videos within a playlist.
- "Up next" queue panel showing the autoplay queue.
- Persistent mini now-playing bar when browsing other views.
- Cache size cap in Settings (auto-evict oldest past a limit).
- Export / import playlists as JSON.
- More / trending quick-search chips on the hero, rotated.
Robustness
- Sanitize
video_idincache_download(reject path separators). - Gate the embedded yt-dlp behind a build flag so debug builds compile faster.
- Surface yt-dlp extraction failures with a retry button.