Fix crash when no music uploaded (null guard for track)

This commit is contained in:
denshooter
2026-02-16 01:37:02 +01:00
parent bdcfa8f3c5
commit 8b4dc2e7e6
+4 -4
View File
@@ -23,7 +23,7 @@ export default function MusicPlayer({ tracks }: { tracks: MediaItem[] }) {
const [progress, setProgress] = useState(0) const [progress, setProgress] = useState(0)
const audioRef = useRef<HTMLAudioElement>(null) const audioRef = useRef<HTMLAudioElement>(null)
const track = tracks[current] const track = tracks[current] ?? null
useEffect(() => { useEffect(() => {
const audio = audioRef.current const audio = audioRef.current
@@ -33,7 +33,7 @@ export default function MusicPlayer({ tracks }: { tracks: MediaItem[] }) {
useEffect(() => { useEffect(() => {
const audio = audioRef.current const audio = audioRef.current
if (!audio) return if (!audio || !track) return
audio.src = `/api/files/${track.filename}` audio.src = `/api/files/${track.filename}`
audio.volume = muted ? 0 : volume audio.volume = muted ? 0 : volume
if (playing) { if (playing) {
@@ -71,13 +71,13 @@ export default function MusicPlayer({ tracks }: { tracks: MediaItem[] }) {
setProgress(pct) setProgress(pct)
} }
if (tracks.length === 0 || !track) return null
const trackName = const trackName =
track.original_name?.replace(/\.[^/.]+$/, '') || track.original_name?.replace(/\.[^/.]+$/, '') ||
track.caption || track.caption ||
`Titel ${current + 1}` `Titel ${current + 1}`
if (tracks.length === 0) return null
return ( return (
<> <>
<audio <audio