/* * 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 { ContextType } from 'react'; import { ReaderSettingReadingMode } from '@/modules/reader/components/settings/layout/ReaderSettingReadingMode.tsx'; import { ReaderSettingReadingDirection } from '@/modules/reader/components/settings/layout/ReaderSettingReadingDirection.tsx'; import { ReaderSettingTapZoneLayout } from '@/modules/reader/components/settings/layout/ReaderSettingTapZoneLayout.tsx'; import { ReaderTapZoneContext } from '@/modules/reader/contexts/ReaderTapZoneContext.tsx'; import { ReaderSettingTapZoneInvertMode } from '@/modules/reader/components/settings/layout/ReaderSettingTapZoneInvertMode.tsx'; import { ReaderSettingPageScaleMode } from '@/modules/reader/components/settings/layout/ReaderSettingPageScaleMode.tsx'; import { ReaderSettingStretchPage } from '@/modules/reader/components/settings/layout/ReaderSettingStretchPage.tsx'; import { ReaderSettingsTypeProps } from '@/modules/reader/types/Reader.types.ts'; import { ReaderSettingPageGap } from '@/modules/reader/components/settings/layout/ReaderSettingPageGap.tsx'; import { ReaderSettingWidth } from '@/modules/reader/components/settings/layout/ReaderSettingWidth.tsx'; import { ReaderSettingProfile } from '@/modules/reader/components/settings/layout/profiles/ReaderSettingProfile.tsx'; import { DefaultSettingFootnote } from '@/modules/reader/components/settings/DefaultSettingFootnote.tsx'; export const ReaderLayoutSettings = ({ setShowPreview, settings, updateSetting, isDefaultable, onDefault, }: ReaderSettingsTypeProps & { setShowPreview: ContextType['setShowPreview']; }) => ( {isDefaultable && ( updateSetting('defaultProfile', value)} isDefaultable={isDefaultable} onDefault={() => onDefault?.('defaultProfile')} /> )} updateSetting('readingMode', value)} isDefaultable={isDefaultable} onDefault={() => onDefault?.('readingMode')} /> updateSetting('pageGap', ...args)} /> updateSetting('readingDirection', value)} isDefaultable={isDefaultable} onDefault={() => onDefault?.('readingDirection')} /> { setShowPreview(true); updateSetting('tapZoneLayout', value); }} isDefaultable={isDefaultable} onDefault={() => { setShowPreview(true); onDefault?.('tapZoneLayout'); }} /> { setShowPreview(true); updateSetting('tapZoneInvertMode', value); }} isDefaultable={isDefaultable} onDefault={() => { setShowPreview(true); onDefault?.('tapZoneInvertMode'); }} /> updateSetting('pageScaleMode', value)} isDefaultable={isDefaultable} onDefault={() => onDefault?.('pageScaleMode')} /> updateSetting('shouldStretchPage', value)} /> updateSetting(...args)} /> );