Delete global reader settings on reset

When resetting a whole settings tab, the whole metadata can be deleted from the server
This commit is contained in:
schroda
2024-12-18 01:04:02 +01:00
parent 85bb032d03
commit 713326d1a2
7 changed files with 33 additions and 36 deletions

View File

@@ -24,25 +24,6 @@ import { ReaderBehaviourSettings } from '@/modules/reader/components/settings/be
import { ReaderDefaultLayoutSettings } from '@/modules/reader/components/settings/layout/ReaderDefaultLayoutSettings.tsx';
import { ReaderHotkeysSettings } from '@/modules/reader/components/settings/hotkeys/ReaderHotkeysSettings.tsx';
interface BaseProps {
activeTab: number;
setActiveTab: (tab: number) => void;
settings: IReaderSettingsWithDefaultFlag;
updateSetting: (...args: OmitFirst<Parameters<typeof ReaderService.updateSetting>>) => void;
}
interface DefaultSettingsProps extends BaseProps {
areDefaultSettings: true;
}
interface MangaSettingsProps extends BaseProps {
deleteSetting: (setting: keyof IReaderSettings) => void;
}
type Props =
| (DefaultSettingsProps & PropertiesNever<Omit<MangaSettingsProps, keyof BaseProps>>)
| (PropertiesNever<Omit<DefaultSettingsProps, keyof BaseProps>> & MangaSettingsProps);
export const ReaderSettingsTabs = ({
activeTab,
setActiveTab,
@@ -50,7 +31,14 @@ export const ReaderSettingsTabs = ({
settings,
updateSetting,
deleteSetting,
}: Props) => {
}: {
activeTab: number;
setActiveTab: (tab: number) => void;
settings: IReaderSettingsWithDefaultFlag;
updateSetting: (...args: OmitFirst<Parameters<typeof ReaderService.updateSetting>>) => void;
areDefaultSettings?: boolean;
deleteSetting: (setting: keyof IReaderSettings) => void;
}) => {
const { t } = useTranslation();
const { setShowPreview } = useReaderTapZoneContext();
const isTouchDevice = MediaQuery.useIsTouchDevice();
@@ -144,6 +132,8 @@ export const ReaderSettingsTabs = ({
<ReaderFilterSettings
settings={settings}
updateSetting={(...args) => updateSetting(...args)}
isDefaultable
onDefault={(...args) => deleteSetting?.(...args)}
/>
</TabPanel>
);
@@ -158,6 +148,8 @@ export const ReaderSettingsTabs = ({
<ReaderBehaviourSettings
settings={settings}
updateSetting={(...args) => updateSetting(...args)}
isDefaultable
onDefault={(...args) => deleteSetting?.(...args)}
/>
</TabPanel>
);
@@ -172,6 +164,8 @@ export const ReaderSettingsTabs = ({
<ReaderHotkeysSettings
settings={settings}
updateSetting={(...args) => updateSetting(...args)}
isDefaultable
onDefault={(...args) => deleteSetting?.(...args)}
/>
</TabPanel>
);