feat: auth & admin

This commit is contained in:
2026-06-03 10:41:53 +03:00
parent 612d0f0125
commit 7dc59fb3c4
120 changed files with 4683 additions and 2159 deletions
+27 -12
View File
@@ -1,7 +1,10 @@
import { useEffect, useRef, useCallback } from 'react';
import { useAppDispatch, useAppSelector } from './useAppDispatch';
import {
pause, resume, setPosition, setDuration,
pause,
resume,
setPosition,
setDuration,
setVolume as setVolumeAction,
} from '../store/slices/player';
import { nextTrack, prevTrack } from '../store/slices/queue';
@@ -87,7 +90,9 @@ export function useAudioPlayer() {
useEffect(() => {
if (!('mediaSession' in navigator)) return;
navigator.mediaSession.playbackState = player.isPlaying ? 'playing' : 'paused';
navigator.mediaSession.playbackState = player.isPlaying
? 'playing'
: 'paused';
}, [player.isPlaying]);
useEffect(() => {
@@ -120,18 +125,28 @@ export function useAudioPlayer() {
}
}, [queue.currentIndex, queue.entries, player.currentTrackId, dispatch]);
const seek = useCallback((seconds: number) => {
const audio = getAudio();
audio.currentTime = seconds;
dispatch(setPosition(seconds));
}, [dispatch]);
const seek = useCallback(
(seconds: number) => {
const audio = getAudio();
audio.currentTime = seconds;
dispatch(setPosition(seconds));
},
[dispatch],
);
const setPlayerVolume = useCallback((vol: number) => {
dispatch(setVolumeAction(vol));
}, [dispatch]);
const setPlayerVolume = useCallback(
(vol: number) => {
dispatch(setVolumeAction(vol));
},
[dispatch],
);
const playNext = useCallback(() => { dispatch(nextTrack()); }, [dispatch]);
const playPrev = useCallback(() => { dispatch(prevTrack()); }, [dispatch]);
const playNext = useCallback(() => {
dispatch(nextTrack());
}, [dispatch]);
const playPrev = useCallback(() => {
dispatch(prevTrack());
}, [dispatch]);
return { seek, setVolume: setPlayerVolume, playNext, playPrev };
}