mirror of
https://github.com/Radiquum/AniX.git
synced 2025-05-13 08:19:40 +05:00
feat: add AniLibria parsing
This commit is contained in:
parent
97c8935a0f
commit
1b765fe857
7 changed files with 370 additions and 3616 deletions
71
app/components/ReleasePlayer/SourceSelector.tsx
Normal file
71
app/components/ReleasePlayer/SourceSelector.tsx
Normal file
|
@ -0,0 +1,71 @@
|
|||
"use client";
|
||||
|
||||
import { Dropdown } from "flowbite-react";
|
||||
import { numberDeclension } from "#/api/utils";
|
||||
|
||||
interface Source {
|
||||
id: number;
|
||||
name: string;
|
||||
episodes_count: number;
|
||||
}
|
||||
|
||||
const DropdownTrigger = ({ name }: Source) => {
|
||||
return (
|
||||
<div className="flex items-center gap-1 cursor-pointer">
|
||||
<span className="w-6 h-6 iconify material-symbols--motion-play"></span>
|
||||
<p>{name}</p>
|
||||
<span className="w-6 h-6 iconify material-symbols--arrow-drop-down"></span>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const DropdownItem = ({
|
||||
name,
|
||||
episodes_count,
|
||||
}: Source) => {
|
||||
return (
|
||||
<div className="flex flex-col gap-2 cursor-pointer">
|
||||
<div className="flex items-center gap-2">
|
||||
<p>{name}</p>
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<p>
|
||||
{episodes_count}{" "}
|
||||
{numberDeclension(episodes_count, "серия", "серии", "серий")}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export const SourceSelector = (props: {
|
||||
availableSource: Source[];
|
||||
source: Source;
|
||||
setSource: any;
|
||||
}) => {
|
||||
return (
|
||||
<Dropdown
|
||||
label=""
|
||||
dismissOnClick={true}
|
||||
renderTrigger={() => (
|
||||
<span>
|
||||
<DropdownTrigger {...props.source} />
|
||||
</span>
|
||||
)}
|
||||
>
|
||||
{props.availableSource.map((source: Source) => (
|
||||
<Dropdown.Item
|
||||
key={`source_${source.id}`}
|
||||
onClick={() =>
|
||||
props.setSource({
|
||||
selected: source,
|
||||
available: props.availableSource,
|
||||
})
|
||||
}
|
||||
>
|
||||
<DropdownItem {...source} />
|
||||
</Dropdown.Item>
|
||||
))}
|
||||
</Dropdown>
|
||||
);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue