From c68bb0e60ecf421f1f59a7b7edebb52a5cd15266 Mon Sep 17 00:00:00 2001 From: Viren070 Date: Sat, 30 Aug 2025 14:48:41 +0100 Subject: [PATCH] feat(frontend): move more stuff into pro only mode --- .../frontend/src/components/menu/filters.tsx | 250 ++++++++++-------- .../src/components/menu/miscellaneous.tsx | 166 ++++++------ 2 files changed, 228 insertions(+), 188 deletions(-) diff --git a/packages/frontend/src/components/menu/filters.tsx b/packages/frontend/src/components/menu/filters.tsx index e1070612..7ed87f82 100644 --- a/packages/frontend/src/components/menu/filters.tsx +++ b/packages/frontend/src/components/menu/filters.tsx @@ -244,32 +244,48 @@ function Content() { Cache - - - Resolution - - - - Quality - - - - Encode - + + <> + + + Resolution + + + + {mode == 'pro' && ( + <> + + + Quality + + + )} + {mode === 'pro' && ( + <> + + + Encode + + + )} {mode === 'pro' && ( Stream Type )} - - - Visual Tag - - - - Audio Tag - + {mode === 'pro' && ( + + + Visual Tag + + )} + {mode === 'pro' && ( + + + Audio Tag + + )} {mode === 'pro' && ( @@ -284,14 +300,20 @@ function Content() { Seeders - - - Matching - - - - Keyword - + {mode === 'pro' && ( + <> + + + Matching + + + )} + {mode === 'pro' && ( + + + Keyword + + )} {mode === 'pro' && ( @@ -2059,38 +2081,43 @@ function Content() { })); }} /> - { - setUserData((prev) => ({ - ...prev, - resultLimits: { - ...prev.resultLimits, - service: value || undefined, - }, - })); - }} - /> - { - setUserData((prev) => ({ - ...prev, - resultLimits: { - ...prev.resultLimits, - addon: value || undefined, - }, - })); - }} - /> + {mode === 'pro' && ( + { + setUserData((prev) => ({ + ...prev, + resultLimits: { + ...prev.resultLimits, + service: value || undefined, + }, + })); + }} + /> + )} + {mode === 'pro' && ( + { + setUserData((prev) => ({ + ...prev, + resultLimits: { + ...prev.resultLimits, + addon: value || undefined, + }, + })); + }} + /> + )} + - { - setUserData((prev) => ({ - ...prev, - resultLimits: { - ...prev.resultLimits, - quality: value || undefined, - }, - })); - }} - /> - { - setUserData((prev) => ({ - ...prev, - resultLimits: { - ...prev.resultLimits, - indexer: value || undefined, - }, - })); - }} - /> - { - setUserData((prev) => ({ - ...prev, - resultLimits: { - ...prev.resultLimits, - releaseGroup: value || undefined, - }, - })); - }} - /> + + {mode === 'pro' && ( + { + setUserData((prev) => ({ + ...prev, + resultLimits: { + ...prev.resultLimits, + quality: value || undefined, + }, + })); + }} + /> + )} + {mode === 'pro' && ( + { + setUserData((prev) => ({ + ...prev, + resultLimits: { + ...prev.resultLimits, + indexer: value || undefined, + }, + })); + }} + /> + )} + {mode === 'pro' && ( + { + setUserData((prev) => ({ + ...prev, + resultLimits: { + ...prev.resultLimits, + releaseGroup: value || undefined, + }, + })); + }} + /> + )} diff --git a/packages/frontend/src/components/menu/miscellaneous.tsx b/packages/frontend/src/components/menu/miscellaneous.tsx index a30c3898..4fd46e80 100644 --- a/packages/frontend/src/components/menu/miscellaneous.tsx +++ b/packages/frontend/src/components/menu/miscellaneous.tsx @@ -171,86 +171,92 @@ function Content() { )} )} - - { - setUserData((prev) => ({ - ...prev, - externalDownloads: value, - })); - }} - /> - - - { - setUserData((prev) => ({ - ...prev, - showStatistics: value, - })); - }} - /> - { + setUserData((prev) => ({ + ...prev, + statisticsPosition: value as 'top' | 'bottom', + })); + }} + /> + + )} + {mode === 'pro' && ( + + { + setUserData((prev) => ({ + ...prev, + hideErrors: value, + })); + }} + /> + ({ + label: resource, + value: resource, + }))} + multiple + help="This lets you hide errors for specific resources. For example, you may want to hide errors for the catalog resource, but not for the stream resource." + emptyMessage="No resources found" + value={userData.hideErrorsForResources} + onValueChange={(value) => { + setUserData((prev) => ({ + ...prev, + hideErrorsForResources: value as (typeof RESOURCES)[number][], + })); + }} + /> + + )} );