diff --git a/app/api/utils.ts b/app/api/utils.ts
index aa03c14..a3e6907 100644
--- a/app/api/utils.ts
+++ b/app/api/utils.ts
@@ -398,7 +398,6 @@ export const FilterProfileListIdToString: Record = {
5: "Брошено",
};
export const FilterStudio = [
- "Неважно",
"A-1 Pictures",
"A.C.G.T",
"ACTAS, Inc",
@@ -672,7 +671,7 @@ export type Filter = {
is_genres_exclude_mode_enabled: boolean;
profile_list_exclusions: number[];
types: number[]; // fetched from /type/all
- studio: string[];
+ studio: null | string;
source: null | string;
start_year: null | number;
end_year: null | number;
diff --git a/app/components/Discovery/Modal/FiltersGenreModal.tsx b/app/components/Discovery/Modal/FiltersGenreModal.tsx
index 98ad180..7ee4362 100644
--- a/app/components/Discovery/Modal/FiltersGenreModal.tsx
+++ b/app/components/Discovery/Modal/FiltersGenreModal.tsx
@@ -30,6 +30,11 @@ export const FiltersGenreModal = ({
const [newGenres, setNewGenres] = useState(genres);
const [newExclusionMode, setNewExclusionMode] = useState(exclusionMode);
+ const genresLength =
+ FilterGenre.uncategorized.genres.length +
+ FilterGenre.audience.genres.length +
+ FilterGenre.theme.genres.length;
+
function toggleGenre(string: string) {
if (newGenres.includes(string)) {
setNewGenres(newGenres.filter((genre) => genre != string));
@@ -44,7 +49,7 @@ export const FiltersGenreModal = ({
}, [genres, exclusionMode]);
return (
- setIsOpen(false)} dismissible>
+ setIsOpen(false)} dismissible size="6xl">
Жанры
@@ -116,6 +121,18 @@ export const FiltersGenreModal = ({
>
Применить
+
diff --git a/app/components/Discovery/Modal/FiltersListExcludeModal.tsx b/app/components/Discovery/Modal/FiltersListExcludeModal.tsx
index 3ea2229..4c72cf4 100644
--- a/app/components/Discovery/Modal/FiltersListExcludeModal.tsx
+++ b/app/components/Discovery/Modal/FiltersListExcludeModal.tsx
@@ -8,7 +8,7 @@ import {
Modal,
ModalBody,
ModalFooter,
- ModalHeader
+ ModalHeader,
} from "flowbite-react";
import { useEffect, useState } from "react";
@@ -81,7 +81,27 @@ export const FiltersListExcludeModal = ({
>
Применить
+
);
-}
+};
diff --git a/app/components/Discovery/Modal/FiltersModal.tsx b/app/components/Discovery/Modal/FiltersModal.tsx
index 56380f2..c5610bc 100644
--- a/app/components/Discovery/Modal/FiltersModal.tsx
+++ b/app/components/Discovery/Modal/FiltersModal.tsx
@@ -6,6 +6,8 @@ import {
FilterCountry,
FilterDefault,
FilterProfileListIdToString,
+ FilterSource,
+ FilterStudio,
} from "#/api/utils";
import {
Button,
@@ -131,23 +133,97 @@ export const FiltersModal = ({ isOpen, setIsOpen, filter }: ModalProps) => {
Рекомендуется выбирать не более 3 жанров
- {userStore.isAuth ?
-
Исключить закладки
+ {userStore.isAuth ?
+
+
Исключить закладки
+
+
+ Исключит из выдачи релизы, входящие в указанные закладки
+
+
+ : ""}
+
+
Варианты озвучек
-
- Исключит из выдачи релизы, входящие в указанные закладки
-
-
: ""}
+
+
+
Студия
+
+ setNewFilter({ ...newFilter, studio: null })}
+ >
+ Неважно
+
+ {FilterStudio.map((value) => {
+ return (
+
+ setNewFilter({
+ ...newFilter,
+ studio: value,
+ })
+ }
+ >
+ {value}
+
+ );
+ })}
+
+
+
+
Первоисточник
+
+ setNewFilter({ ...newFilter, source: null })}
+ >
+ Неважно
+
+ {FilterSource.map((value) => {
+ return (
+
+ setNewFilter({
+ ...newFilter,
+ source: value,
+ })
+ }
+ >
+ {value}
+
+ );
+ })}
+
+
@@ -160,13 +236,13 @@ export const FiltersModal = ({ isOpen, setIsOpen, filter }: ModalProps) => {
save={saveGenres}
/>
- setNewFilter({ ...newFilter, profile_list_exclusions })
- }
- />
+ isOpen={isListExcludeModalOpen}
+ setIsOpen={setIsListExcludeModalOpen}
+ lists={newFilter.profile_list_exclusions}
+ setLists={(profile_list_exclusions) =>
+ setNewFilter({ ...newFilter, profile_list_exclusions })
+ }
+ />
>
);
};