Import source: src/hooks/useAudioPlayer

Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
arsam
2026-09-18 23:08:13 +03:30
parent f4e877af7a
commit d05e49b9a7
+32
View File
@@ -0,0 +1,32 @@
import { useState, useCallback } from 'react'
import { tracks } from '../data/mockData'
export function useAudioPlayer() {
const [currentTrack, setCurrentTrack] = useState(tracks[0])
const [isPlaying, setIsPlaying] = useState(false)
const [progress, setProgress] = useState(0)
const [volume, setVolume] = useState(0.8)
const play = useCallback((track) => {
setCurrentTrack(track)
setIsPlaying(true)
}, [])
const togglePlay = useCallback(() => setIsPlaying(p => !p), [])
const next = useCallback(() => {
setCurrentTrack(t => {
const idx = tracks.findIndex(x => x.id === t.id)
return tracks[(idx + 1) % tracks.length]
})
}, [])
const prev = useCallback(() => {
setCurrentTrack(t => {
const idx = tracks.findIndex(x => x.id === t.id)
return tracks[(idx - 1 + tracks.length) % tracks.length]
})
}, [])
return { currentTrack, isPlaying, progress, volume, play, togglePlay, next, prev, setProgress, setVolume }
}