From 12d3203a4c9726183702dd2da4ca24915baf2a99 Mon Sep 17 00:00:00 2001 From: jared Date: Mon, 9 Feb 2026 01:39:13 +0000 Subject: [PATCH] resume playback from current position, force light theme, fix speed button label - Play/pause toggle now resumes from current timeline position instead of restarting - Force white background on all devices regardless of dark mode preference - Speed button shows 0.5x by default so users know half-speed is available - Add ben.mp4 and andy.mp4 recording to database Co-Authored-By: Claude Opus 4.6 --- server/signsync.db | Bin 16384 -> 16384 bytes src/App.css | 2 +- src/components/YouTubePlayer.jsx | 19 +++++++++++++++---- src/index.css | 20 ++++---------------- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/server/signsync.db b/server/signsync.db index 71181efb78749b1ae2f21ba380c0a7b1cb1116c5..7d23bc7e6b8787a139498687e65340c00b1e5860 100644 GIT binary patch delta 242 zcmZo@U~Fh$oFL7}F;T{um4iVq+-qaX0)7rAzL^aCR(vxz3kvk|*)+;A@iOQNYin{O zi|T4~7#mv}C8wGgrCOvJS{f#$B_^fj0g*#$MPhD2PO4sVey)CQYD#9JK2UUWpS+5r zdwHdwb5depg@JEkUP>hhV^Iwf*2^t0F)}bR(={;CHLz4LFtjo-wlXl9Y$bn+gNgq- z1OIjYH=6|&PV { + const handlePlayFromStart = () => { // Seek to beginning first if (youtubePlayerRef.current && youtubePlayerRef.current.seekTo) { youtubePlayerRef.current.seekTo(0, true); @@ -456,6 +456,17 @@ export default function YouTubePlayer() { playAllLocalVideos(); }; + const handleResume = () => { + // Resume from current position without seeking + if (youtubePlayerRef.current && isReady) { + youtubePlayerRef.current.playVideo(); + if (youtubePlayerRef.current.setPlaybackRate) { + youtubePlayerRef.current.setPlaybackRate(playbackRateRef.current); + } + } + playAllLocalVideos(); + }; + const handlePause = () => { // Pause all videos if (youtubePlayerRef.current && isReady) { @@ -468,7 +479,7 @@ export default function YouTubePlayer() { if (isPlaying) { handlePause(); } else { - handlePlay(); + handleResume(); } }; @@ -709,7 +720,7 @@ export default function YouTubePlayer() { - {playbackRate === 0.5 ? '0.5x' : '1x'} + {playbackRate === 0.5 ? '1x' : '0.5x'} {isProcessingPlayback && ( diff --git a/src/index.css b/src/index.css index 8925870..dfe42c1 100644 --- a/src/index.css +++ b/src/index.css @@ -3,9 +3,9 @@ line-height: 1.5; font-weight: 400; - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; + color-scheme: light; + color: #213547; + background-color: #ffffff; font-synthesis: none; text-rendering: optimizeLegibility; @@ -44,7 +44,7 @@ button { font-size: 1em; font-weight: 500; font-family: inherit; - background-color: #1a1a1a; + background-color: #f9f9f9; cursor: pointer; transition: border-color 0.25s; } @@ -56,15 +56,3 @@ button:focus-visible { outline: 4px auto -webkit-focus-ring-color; } -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -}