mirror of
https://github.com/Radiquum/AniX.git
synced 2025-04-28 00:49:40 +05:00
feat: add skip to the category page setting for home and bookmark pages
This commit is contained in:
parent
487ae9a1e4
commit
e985b65252
5 changed files with 184 additions and 29 deletions
|
@ -1,9 +1,32 @@
|
|||
"use client";
|
||||
|
||||
import { usePreferencesStore } from "#/store/preferences";
|
||||
import { Modal, Button, useThemeMode, ToggleSwitch, HR } from "flowbite-react";
|
||||
import {
|
||||
Modal,
|
||||
Button,
|
||||
useThemeMode,
|
||||
ToggleSwitch,
|
||||
HR,
|
||||
Dropdown,
|
||||
} from "flowbite-react";
|
||||
import Link from "next/link";
|
||||
|
||||
const HomeCategory = {
|
||||
last: "Последние релизы",
|
||||
finished: "Завершенные релизы",
|
||||
ongoing: "Выходит",
|
||||
announce: "Анонсированные релизы",
|
||||
films: "Фильмы",
|
||||
};
|
||||
|
||||
const BookmarksCategory = {
|
||||
watching: "Смотрю",
|
||||
planned: "В планах",
|
||||
watched: "Просмотрено",
|
||||
delayed: "Отложено",
|
||||
abandoned: "Заброшено",
|
||||
};
|
||||
|
||||
export const SettingsModal = (props: { isOpen: boolean; setIsOpen: any }) => {
|
||||
const preferenceStore = usePreferencesStore();
|
||||
|
||||
|
@ -58,6 +81,87 @@ export const SettingsModal = (props: { isOpen: boolean; setIsOpen: any }) => {
|
|||
checked={preferenceStore.flags.showChangelog}
|
||||
/>
|
||||
</div>
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="font-bold dark:text-white max-w-96">
|
||||
Пропускать страницу выбора категорий на страницах Домашняя и
|
||||
Закладки
|
||||
</p>
|
||||
<ToggleSwitch
|
||||
color="blue"
|
||||
theme={{
|
||||
toggle: {
|
||||
checked: {
|
||||
color: {
|
||||
blue: "border-blue-700 bg-blue-700",
|
||||
},
|
||||
},
|
||||
},
|
||||
}}
|
||||
onChange={() =>
|
||||
preferenceStore.setParams({
|
||||
skipToCategory: {
|
||||
...preferenceStore.params.skipToCategory,
|
||||
enabled: !preferenceStore.params.skipToCategory.enabled,
|
||||
},
|
||||
})
|
||||
}
|
||||
checked={preferenceStore.params.skipToCategory.enabled}
|
||||
/>
|
||||
</div>
|
||||
{preferenceStore.params.skipToCategory.enabled ? (
|
||||
<>
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="font-bold dark:text-white max-w-96">
|
||||
Категория домашней страницы
|
||||
</p>
|
||||
<Dropdown color="blue" label={HomeCategory[preferenceStore.params.skipToCategory.homeCategory]}>
|
||||
{Object.keys(HomeCategory).map((key) => {
|
||||
return (
|
||||
<Dropdown.Item
|
||||
key={key}
|
||||
onClick={() =>
|
||||
preferenceStore.setParams({
|
||||
skipToCategory: {
|
||||
...preferenceStore.params.skipToCategory,
|
||||
homeCategory: key,
|
||||
},
|
||||
})
|
||||
}
|
||||
>
|
||||
{HomeCategory[key]}
|
||||
</Dropdown.Item>
|
||||
);
|
||||
})}
|
||||
</Dropdown>
|
||||
</div>
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="font-bold dark:text-white max-w-96">
|
||||
Категория страницы закладок
|
||||
</p>
|
||||
<Dropdown color="blue" label={BookmarksCategory[preferenceStore.params.skipToCategory.bookmarksCategory]}>
|
||||
{Object.keys(BookmarksCategory).map((key) => {
|
||||
return (
|
||||
<Dropdown.Item
|
||||
key={key}
|
||||
onClick={() =>
|
||||
preferenceStore.setParams({
|
||||
skipToCategory: {
|
||||
...preferenceStore.params.skipToCategory,
|
||||
bookmarksCategory: key,
|
||||
},
|
||||
})
|
||||
}
|
||||
>
|
||||
{BookmarksCategory[key]}
|
||||
</Dropdown.Item>
|
||||
);
|
||||
})}
|
||||
</Dropdown>
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
<div className="flex items-center justify-between">
|
||||
<div>
|
||||
<p className="font-bold dark:text-white">Отправка аналитики</p>
|
||||
|
@ -87,18 +191,28 @@ export const SettingsModal = (props: { isOpen: boolean; setIsOpen: any }) => {
|
|||
</div>
|
||||
<HR className="my-4 dark:bg-slate-400" />
|
||||
<div>
|
||||
<Link href={"https://t.me/anix_web"} className="flex items-center gap-2 p-2 text-left rounded-md hover:bg-gray-100 dark:hover:bg-gray-900">
|
||||
<Link
|
||||
href={"https://t.me/anix_web"}
|
||||
className="flex items-center gap-2 p-2 text-left rounded-md hover:bg-gray-100 dark:hover:bg-gray-900"
|
||||
>
|
||||
<span className="w-8 h-8 iconify fa6-brands--telegram"></span>
|
||||
<div>
|
||||
<p>Телеграм канал</p>
|
||||
<p className="text-sm text-gray-400 dark:text-gray-200">@anix_web</p>
|
||||
<p className="text-sm text-gray-400 dark:text-gray-200">
|
||||
@anix_web
|
||||
</p>
|
||||
</div>
|
||||
</Link>
|
||||
<Link href={"https://wah.su/radiquum"} className="flex items-center gap-2 p-2 text-left rounded-md hover:bg-gray-100 dark:hover:bg-gray-900">
|
||||
<Link
|
||||
href={"https://wah.su/radiquum"}
|
||||
className="flex items-center gap-2 p-2 text-left rounded-md hover:bg-gray-100 dark:hover:bg-gray-900"
|
||||
>
|
||||
<span className="w-8 h-8 iconify mdi--code"></span>
|
||||
<div>
|
||||
<p>Разработчик</p>
|
||||
<p className="text-sm text-gray-400 dark:text-gray-200">Radiquum</p>
|
||||
<p className="text-sm text-gray-400 dark:text-gray-200">
|
||||
Radiquum
|
||||
</p>
|
||||
</div>
|
||||
</Link>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue