feat(ui): prompt before closing window if music is playing (#4899)
* feat(ui): prompt before closing window if music is playing - #4898 * simplify logic
This commit is contained in:
@@ -95,6 +95,19 @@ const Player = () => {
|
||||
}
|
||||
}, [audioInstance, context, gainNode, playerState, gainInfo])
|
||||
|
||||
useEffect(() => {
|
||||
const handleBeforeUnload = (e) => {
|
||||
// Check there's a current track and is actually playing/not paused
|
||||
if (playerState.current?.uuid && audioInstance && !audioInstance.paused) {
|
||||
e.preventDefault()
|
||||
e.returnValue = '' // Chrome requires returnValue to be set
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('beforeunload', handleBeforeUnload)
|
||||
return () => window.removeEventListener('beforeunload', handleBeforeUnload)
|
||||
}, [playerState, audioInstance])
|
||||
|
||||
const defaultOptions = useMemo(
|
||||
() => ({
|
||||
theme: playerTheme,
|
||||
|
||||
Reference in New Issue
Block a user