Replaces bare status text with visual empty-state components: - History: clock icon, 'Nothing watched yet' title, description, 'Search videos' CTA - Playlist: music icon, 'This playlist is empty' title, description with tip, 'Browse videos' CTA - Search: unchanged (hero landing handles this case) - CTA buttons navigate to search view for quick action
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.