1
0
Fork 0
mirror of https://github.com/sussy-code/smov.git synced 2024-12-26 15:37:41 +01:00
smov/src/components/player/hooks/usePlayer.ts

36 lines
1.1 KiB
TypeScript

import { MWStreamType } from "@/backend/helpers/streams";
import { useInitializePlayer } from "@/components/player/hooks/useInitializePlayer";
import { PlayerMeta, playerStatus } from "@/stores/player/slices/source";
import { usePlayerStore } from "@/stores/player/store";
import { SourceSliceSource } from "@/stores/player/utils/qualities";
export interface Source {
url: string;
type: MWStreamType;
}
export function usePlayer() {
const setStatus = usePlayerStore((s) => s.setStatus);
const setMeta = usePlayerStore((s) => s.setMeta);
const setSource = usePlayerStore((s) => s.setSource);
const status = usePlayerStore((s) => s.status);
const meta = usePlayerStore((s) => s.meta);
const reset = usePlayerStore((s) => s.reset);
const { init } = useInitializePlayer();
return {
reset,
status,
setMeta(m: PlayerMeta) {
setMeta(m);
},
playMedia(source: SourceSliceSource) {
setSource(source);
setStatus(playerStatus.PLAYING);
init();
},
setScrapeStatus() {
setStatus(playerStatus.SCRAPING);
},
};
}