Commit Graph

7 Commits

Author SHA1 Message Date
Aaron df0399bb3b Add GET API KEY button to setup screen, enlarge demo mode link
- Add secondary .btn-s (cyan outline) button above ENTER VIDFLOW that opens the API key guide modal
- Simplify the hint text — the button makes the action self-evident
- Increase .sp-skip font-size 11px → 13px, brighten demo mode link color
- Wire #get-key-btn in initApiGuide() alongside existing #api-guide-btn

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 12:07:47 -04:00
Aaron b0582bab9f Fix API key guide with accurate step-by-step flow
Corrected based on actual Google Cloud Console experience:
- Step 3 is now 'Create credentials' button on the API details page (not left sidebar)
- Choose Public data → Next to generate the key
- Key shown immediately on screen; can copy and use as-is
- Optional restriction flow: Restrict key → type youtube → select API → OK → Save → Credentials sidebar → Show key

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 12:00:59 -04:00
Aaron 9095d27ffb Fix ticker clipping, remove gear icon, add ENDED fallback, persist shuffle, add API key guide modal
- Remove overflow:hidden from .bb-top; give .np-wrap explicit 26px height to stop ticker text being vertically clipped
- Remove redundant gear icon from top bar (settings accessible via hamburger menu)
- ENDED state: try nextVideo(), fallback to playVideoAt(0) after 1.2s so last-video playlists loop
- Persist shuffle state to localStorage from both the toolbar button and S keyboard shortcut
- Replace setup hint with direct YouTube API link + "What's an API key?" modal with 4-step guide for first-time users

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 11:50:46 -04:00
Aaron 8be980a554 Run 3: settings sidebar panel
- Gear button opens sidebar to new SETTINGS tab (replaces confirm dialog)
- Settings: API key management (save/clear), shuffle toggle, volume slider, hotkeys reference
- Shuffle state persisted to vf_shuffle localStorage key
- Volume restored on player ready from vf_volume localStorage key

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 11:15:31 -04:00
Aaron 7318d7ed7f Run 2: layout restructure and pop-out overlay
- Bottom bar: two-row layout — ticker above centered controls
- Ticker speed halved (0.5px/frame) and longer bottom bar (76px)
- Pop-out overlay: shows "PLAYING IN MINI PLAYER" when popup is open
- Pop-out re-press: focuses existing popup window instead of opening a new one
- Clear overlay and popoutWin ref when video returns from popup

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 11:13:07 -04:00
Aaron 04fffb11d6 Run 1: bug fixes and CSS polish
- Fix keyboard shortcuts breaking after +/- channel change (window.focus on PLAYING)
- Fix + and gear buttons not staying open (document close handler exclusions)
- Remove hotkey hint bar (moved to settings panel later)
- Title truncation: 2-line clamp for playlist and channel list titles
- sizePW: 4% buffer ensures YouTube native title never bleeds into viewport
- Mobile: hide pop-out button on ≤600px

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 11:10:46 -04:00
Aaron fa63f4d956 Initial implementation: single-file MTV-style music video TV channel PWA
Includes all spec features plus pop-out player with bidirectional video transfer:
- YouTube IFrame API + Data API v3 channel management
- Idle/broadcast mode, channel flip animation, NCO onboarding
- Pop-out player (⧉/P) transfers video to popup; P closes and returns it

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 10:35:02 -04:00