feat: add ultra-minimized view and toggle functionality in MusicPlayer
This commit is contained in:
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user