diff --git a/src/pages/FocusPage.jsx b/src/pages/FocusPage.jsx index 94435de..4e840a3 100644 --- a/src/pages/FocusPage.jsx +++ b/src/pages/FocusPage.jsx @@ -37,11 +37,9 @@ export default function FocusPage({ tasks, profile, setProfile }) { // FIX: sessions starts at 0, not 2 const [sessions, setSessions] = useState(0); const [selectedTask, setSelectedTask] = useState(tasks.find((task) => !task.done)?.id ?? tasks[0]?.id ?? 0); - const [soundOn, setSoundOn] = useState(false); - const [selectedTrack, setSelectedTrack] = useState('rain'); const [justFinished, setJustFinished] = useState(false); const timerRef = useRef(null); - const audioRef = useRef(null); + const mode = MODES[modeIndex]; const totalDuration = getModeDuration(modeIndex); @@ -163,16 +161,7 @@ export default function FocusPage({ tasks, profile, setProfile }) { nextModeIndexRef.current = null; }; - // Keep audio in sync with soundOn and selectedTrack - useEffect(() => { - const audio = audioRef.current; - if (!audio) return; - if (soundOn) { - audio.play().catch(() => {}); - } else { - audio.pause(); - } - }, [soundOn, selectedTrack]); + useEffect(() => { if (!running) { @@ -251,24 +240,7 @@ export default function FocusPage({ tasks, profile, setProfile }) { setSeconds(getModeDuration(modeIndex)); }; - const toggleSound = () => { - setSoundOn((prev) => !prev); - }; - - const selectTrack = (trackId) => { - setSelectedTrack(trackId); - setSoundOn(true); - }; - - const tracks = [ - { id: 'rain', label: 'Rain', src: '/media/rain.mp4', emoji: '🌧', description: 'Soft rain loop' }, - { id: 'waves', label: 'Waves', src: '/media/waves.mp4', emoji: '🌊', description: 'Ocean ambience' }, - { id: 'forest', label: 'Forest', src: '/media/forest.mp4', emoji: '🌿', description: 'Nature ambience' }, - { id: 'cafe', label: 'Cafe', src: '/media/cafe.mp4', emoji: '☕', description: 'Low chatter' }, - { id: 'custom', label: 'Your MP4', src: '/media/music.mp4', emoji: '🎵', description: 'Drop your file here' }, - ]; - - const activeTrack = tracks.find((track) => track.id === selectedTrack) ?? tracks[0]; + return (
@@ -467,13 +439,11 @@ export default function FocusPage({ tasks, profile, setProfile }) { -
Sessions today: {sessions} Timer mode: {mode.label} - {soundOn ? `Playing ${activeTrack.label}` : 'Sound off'}
@@ -519,42 +489,12 @@ export default function FocusPage({ tasks, profile, setProfile }) { - -
Ambient sound
-
- {tracks.map((track) => ( - - ))} -
-
- Put your MP4 file in public/media/music.mp4. The app will stream it in the focus player. -
-
+