feat: restore player, voiceover and episode saving for custom player

This commit is contained in:
Kentai Radiquum 2025-03-15 23:10:30 +05:00
parent cdce98b7e6
commit 03af84fd2d
Signed by: Radiquum
GPG key ID: 858E8EE696525EED
5 changed files with 90 additions and 27 deletions

View file

@ -2,6 +2,7 @@
import { Dropdown } from "flowbite-react";
import { numberDeclension } from "#/api/utils";
import { useUserPlayerPreferencesStore } from "#/store/player";
interface Source {
id: number;
@ -19,10 +20,7 @@ const DropdownTrigger = ({ name }: Source) => {
);
};
const DropdownItem = ({
name,
episodes_count,
}: Source) => {
const DropdownItem = ({ name, episodes_count }: Source) => {
return (
<div className="flex flex-col gap-2 cursor-pointer">
<div className="flex items-center gap-2">
@ -42,7 +40,10 @@ export const SourceSelector = (props: {
availableSource: Source[];
source: Source;
setSource: any;
release_id: any;
}) => {
const playerPreferenceStore = useUserPlayerPreferencesStore();
return (
<Dropdown
label=""
@ -56,12 +57,16 @@ export const SourceSelector = (props: {
{props.availableSource.map((source: Source) => (
<Dropdown.Item
key={`source_${source.id}`}
onClick={() =>
onClick={() => {
playerPreferenceStore.setPreferredPlayer(
props.release_id,
source.name
);
props.setSource({
selected: source,
available: props.availableSource,
})
}
});
}}
>
<DropdownItem {...source} />
</Dropdown.Item>