Files
suwayomi-material-you-webui/src/modules/reader/components/settings/layout/profiles/ReaderSettingProfileSettings.tsx

51 lines
1.7 KiB
TypeScript
Raw Normal View History

2024-10-28 18:03:29 +01:00
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import Stack from '@mui/material/Stack';
import ListSubheader from '@mui/material/ListSubheader';
import { ComponentProps, useMemo } from 'react';
2024-10-28 18:03:29 +01:00
import { ReaderLayoutSettings } from '@/modules/reader/components/settings/layout/ReaderLayoutSettings.tsx';
import { useDefaultReaderSettingsWithDefaultFlag } from '@/modules/reader/services/ReaderSettingsMetadata.ts';
import { ReadingMode } from '@/modules/reader/types/Reader.types.ts';
2024-10-28 18:03:29 +01:00
export const ReaderSettingProfileSettings = ({
profile,
title,
2024-10-28 18:03:29 +01:00
updateSetting,
...props
}: Pick<ComponentProps<typeof ReaderLayoutSettings>, 'updateSetting'> & { profile: ReadingMode; title: string }) => {
2024-10-28 18:03:29 +01:00
const { settings } = useDefaultReaderSettingsWithDefaultFlag(profile);
const adjustedSettings = useMemo(
() => ({
...settings,
readingMode: {
value: profile,
isDefault: true,
},
}),
[settings, profile],
);
2024-10-28 18:03:29 +01:00
return (
<Stack sx={{ gap: 2 }}>
<ListSubheader component="div" id={`${profile}-settings`}>
{title}
2024-10-28 18:03:29 +01:00
</ListSubheader>
<Stack sx={{ px: 2 }}>
<ReaderLayoutSettings
{...props}
setShowPreview={() => {}}
settings={adjustedSettings}
2024-10-28 18:03:29 +01:00
updateSetting={(setting, value, commit) => updateSetting(setting, value, commit, true, profile)}
/>
</Stack>
</Stack>
);
};