feat: add ultra-minimized view and toggle functionality in MusicPlayer
Some checks failed
Frontend CI / lint (push) Failing after 5m6s
Frontend CI / build (push) Has been skipped

This commit is contained in:
JSC
2025-07-08 11:01:35 +02:00
parent 328768db58
commit 30317b7617
2 changed files with 49 additions and 2 deletions

View File

@@ -29,6 +29,7 @@ interface MusicPlayerContextType {
// UI state
isMinimized: boolean
isUltraMinimized: boolean
showPlaylist: boolean
// Actions
@@ -48,6 +49,7 @@ interface MusicPlayerContextType {
removeFromPlaylist: (trackId: string) => void
clearPlaylist: () => void
toggleMaximize: () => void
toggleUltraMinimize: () => void
togglePlaylistVisibility: () => void
}
@@ -84,6 +86,7 @@ export function MusicPlayerProvider({ children }: MusicPlayerProviderProps) {
// UI state
const [isMinimized, setIsMinimized] = useState(true)
const [isUltraMinimized, setIsUltraMinimized] = useState(false)
const [showPlaylist, setShowPlaylist] = useState(false)
// Fetch initial player state on mount
@@ -254,6 +257,14 @@ export function MusicPlayerProvider({ children }: MusicPlayerProviderProps) {
const toggleMaximize = () => {
setIsMinimized(!isMinimized)
setIsUltraMinimized(false) // When maximizing, exit ultra-minimize mode
}
const toggleUltraMinimize = () => {
setIsUltraMinimized(!isUltraMinimized)
if (!isUltraMinimized) {
setIsMinimized(true) // When ultra-minimizing, ensure we're in minimized mode
}
}
const togglePlaylistVisibility = () => {
@@ -276,6 +287,7 @@ export function MusicPlayerProvider({ children }: MusicPlayerProviderProps) {
// UI state
isMinimized,
isUltraMinimized,
showPlaylist,
// Actions
@@ -295,6 +307,7 @@ export function MusicPlayerProvider({ children }: MusicPlayerProviderProps) {
removeFromPlaylist,
clearPlaylist,
toggleMaximize,
toggleUltraMinimize,
togglePlaylistVisibility,
}