From 08f90466196c8c00c19d17e018117223a710fcb6 Mon Sep 17 00:00:00 2001 From: Harshith Mohan <26010946+harshithmohan@users.noreply.github.com> Date: Mon, 7 Sep 2026 17:16:13 +0530 Subject: [PATCH] feat(edit-release-info): add Uncensored checkbox --- .../EditReleaseInfoModal.tsx | 22 ++++++++++++++++++- .../utilities/link-files-with-providers.ts | 1 + src/hooks/utilities/useReleaseInfoForm.ts | 4 ++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/components/Utilities/LinkFilesWithProvider/EditReleaseInfoModal.tsx b/src/components/Utilities/LinkFilesWithProvider/EditReleaseInfoModal.tsx index a09e8eaa8..309904467 100644 --- a/src/components/Utilities/LinkFilesWithProvider/EditReleaseInfoModal.tsx +++ b/src/components/Utilities/LinkFilesWithProvider/EditReleaseInfoModal.tsx @@ -314,6 +314,16 @@ const EditReleaseInfoModal = (props: Props) => { }); }; + const handleCensoredChange = (event: ChangeEvent) => { + markTouched('IsCensored'); + setHasDifferent((draft) => { + draft.censored = false; + }); + setFormState((draft) => { + draft.isCensored = !event.target.checked; + }); + }; + const handleSourceChange = (event: ChangeEvent) => { markTouched('Source'); setFormState((draft) => { @@ -377,6 +387,7 @@ const EditReleaseInfoModal = (props: Props) => { setIfTouched('Version', formState.version === '' ? undefined : formState.version); setIfTouched('IsChaptered', formState.isChaptered); + setIfTouched('IsCensored', formState.isCensored); setIfTouched('IsCreditless', formState.isCreditless); setIfTouched('Source', formState.source === '' ? undefined : formState.source); // Comment and Group can be cleared: write undefined through so it is @@ -447,7 +458,7 @@ const EditReleaseInfoModal = (props: Props) => { } noPadding - className="h-172" + className="h-188" >
{!formState.selectedSeriesId && !hasDifferent.series && ( @@ -580,6 +591,15 @@ const EditReleaseInfoModal = (props: Props) => { justify /> + + { const [touchedFields, setTouchedFields] = useImmer>(new Set()); const [hasDifferent, setHasDifferent] = useImmer({ chaptered: false, + censored: false, creditless: false, episodes: false, group: false, @@ -75,6 +77,7 @@ const useReleaseInfoForm = (selectedLinks: ManualLinkType[], show: boolean) => { setHasDifferent({ chaptered: isBulk && !allSame(link => link.IsChaptered), + censored: isBulk && !allSame(link => link.IsCensored), creditless: isBulk && !allSame(link => link.IsCreditless), episodes: hasDifferentEpisodes, group: hasDifferentGroup, @@ -86,6 +89,7 @@ const useReleaseInfoForm = (selectedLinks: ManualLinkType[], show: boolean) => { selectedEpisodeIds: initialEpisodeIds, version: hasDifferentVersion ? '' : first.Version, isChaptered: first.IsChaptered, + isCensored: first.IsCensored, isCreditless: first.IsCreditless, source: hasDifferentSource ? '' : first.Source, comment: hasDifferentComment ? '' : (first.Comment ?? ''),