From ff168cf25594a5729a12b72583d8aebb033bc9fd Mon Sep 17 00:00:00 2001
From: cats <113775689+worldInColors@users.noreply.github.com>
Date: Sun, 30 Nov 2025 06:24:27 +0300
Subject: [PATCH] feat: add separate size filter for anime content (#483)
* feat: add separate size filter for anime content
* fix: limit anime size filter to series only
---
packages/core/src/db/schemas.ts | 3 +
packages/core/src/streams/filterer.ts | 4 +
.../frontend/src/components/menu/filters.tsx | 96 ++++++++++++++++++-
3 files changed, 100 insertions(+), 3 deletions(-)
diff --git a/packages/core/src/db/schemas.ts b/packages/core/src/db/schemas.ts
index 24dc472b..6fb09c8f 100644
--- a/packages/core/src/db/schemas.ts
+++ b/packages/core/src/db/schemas.ts
@@ -82,6 +82,9 @@ const SizeFilter = z.object({
// max: z.number().min(1).optional(),
// })
.optional(),
+ anime: z
+ .tuple([z.number().min(0), z.number().min(0)])
+ .optional(),
});
const SizeFilterOptions = z.object({
diff --git a/packages/core/src/streams/filterer.ts b/packages/core/src/streams/filterer.ts
index 283848fb..17e0f377 100644
--- a/packages/core/src/streams/filterer.ts
+++ b/packages/core/src/streams/filterer.ts
@@ -1606,6 +1606,10 @@ class StreamFilterer {
normaliseSizeRange(global?.movies);
} else {
minMax =
+ (isAnime
+ ? normaliseSizeRange(resolution?.anime) ||
+ normaliseSizeRange(global?.anime)
+ : undefined) ||
normaliseSizeRange(resolution?.series) ||
normaliseSizeRange(global?.series);
}
diff --git a/packages/frontend/src/components/menu/filters.tsx b/packages/frontend/src/components/menu/filters.tsx
index 9968f17b..7faaa8a1 100644
--- a/packages/frontend/src/components/menu/filters.tsx
+++ b/packages/frontend/src/components/menu/filters.tsx
@@ -2358,17 +2358,17 @@ function Content() {
- Set minimum and maximum size limits for movies and series. You + Set minimum and maximum size limits for movies, series, and anime series. You can set a global limit, and also choose to set specific limits for each resolution. For a given stream, only one set of size filters would be used. A resolution specific limit takes - priority. + priority. Anime series limits take precedence over regular series limits.