fix: remove media session

This commit is contained in:
MAZE 2024-05-11 16:45:13 +04:30
parent f311ec114e
commit 8d01d74bd3
2 changed files with 11 additions and 60 deletions

View File

@ -18,7 +18,6 @@ import { FADE_OUT } from '@/constants/events';
import type { Sound } from '@/data/types'; import type { Sound } from '@/data/types';
import { subscribe } from '@/lib/event'; import { subscribe } from '@/lib/event';
import { useMediaSession } from '@/hooks/use-media-session';
export function App() { export function App() {
const categories = useMemo(() => sounds.categories, []); const categories = useMemo(() => sounds.categories, []);
@ -86,10 +85,7 @@ export function App() {
return [...favorites, ...categories]; return [...favorites, ...categories];
}, [favoriteSounds, categories]); }, [favoriteSounds, categories]);
const audio = useMediaSession();
return ( return (
<>
<SnackbarProvider> <SnackbarProvider>
<StoreConsumer> <StoreConsumer>
<Container> <Container>
@ -102,14 +98,5 @@ export function App() {
<SharedModal /> <SharedModal />
</StoreConsumer> </StoreConsumer>
</SnackbarProvider> </SnackbarProvider>
<audio
aria-hidden={true}
loop
muted
ref={audio}
src="/sounds/2-seconds-of-silence.mp3"
/>
</>
); );
} }

View File

@ -1,36 +0,0 @@
import { useEffect, useRef } from 'react';
import { useSoundStore } from '@/store';
export function useMediaSession() {
const ref = useRef<HTMLAudioElement | null>(null);
const isPlaying = useSoundStore(state => state.isPlaying);
useEffect(() => {
if (ref.current) {
ref.current.addEventListener('play', () => {
console.log('hi');
navigator.mediaSession.metadata = new MediaMetadata({
title: 'Moodist',
});
navigator.mediaSession.playbackState = 'playing';
});
ref.current.addEventListener('pause', () => {
navigator.mediaSession.playbackState = 'paused';
});
}
}, []);
useEffect(() => {
if (isPlaying) {
ref.current?.play();
} else {
ref.current?.pause();
}
}, [isPlaying]);
return ref;
}