diff --git a/packages/frontend/src/components/PersistentMusicPlayer.tsx b/packages/frontend/src/components/PersistentMusicPlayer.tsx index d21fe2f..c8da66a 100644 --- a/packages/frontend/src/components/PersistentMusicPlayer.tsx +++ b/packages/frontend/src/components/PersistentMusicPlayer.tsx @@ -22,7 +22,6 @@ import { FiX, } from 'react-icons/fi'; import type { Song } from '../types/interfaces'; -import { formatDuration } from '../utils/formatters'; interface PersistentMusicPlayerProps { currentSong: Song | null; @@ -83,6 +82,8 @@ export const PersistentMusicPlayer: React.FC = ({ if (audioRef.current) { audioRef.current.play().then(() => { setIsPlaying(true); + // Prevent the audio element from stealing focus + audioRef.current?.blur(); }).catch(error => { console.error('Error auto-playing:', error); }); @@ -209,6 +210,7 @@ export const PersistentMusicPlayer: React.FC = ({ onTimeUpdate={handleTimeUpdate} onLoadedMetadata={handleLoadedMetadata} onEnded={handleEnded} + tabIndex={-1} onError={(e) => { console.error('Audio error:', e); toast({ @@ -220,7 +222,15 @@ export const PersistentMusicPlayer: React.FC = ({ }); }} onLoadStart={() => setIsLoading(true)} - onCanPlay={() => setIsLoading(false)} + onCanPlay={() => { + setIsLoading(false); + // Ensure the audio element never grabs focus during playback events + audioRef.current?.blur(); + }} + onPlay={() => { + // Extra safeguard to avoid focus jump while playing + audioRef.current?.blur(); + }} />