/* * 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 Button from '@mui/material/Button'; import SettingsIcon from '@mui/icons-material/Settings'; import { memo } from 'react'; import { useLingui } from '@lingui/react/macro'; import { ReaderNavBarDesktopPageScale } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopPageScale.tsx'; import { ReaderNavBarDesktopReadingMode } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingMode.tsx'; import { ReaderNavBarDesktopOffsetDoubleSpread } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopOffsetDoubleSpread.tsx'; import { ReaderNavBarDesktopReadingDirection } from '@/features/reader/overlay/navigation/desktop/quick-settings/components/ReaderNavBarDesktopReadingDirection.tsx'; import { ReaderNavBarDesktopProps } from '@/features/reader/overlay/ReaderOverlay.types.ts'; import { ReaderService } from '@/features/reader/services/ReaderService.ts'; import { ReaderNavBarDesktopAutoScroll } from '@/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx'; import { useReaderSettingsStore } from '@/features/reader/stores/ReaderStore.ts'; const BaseReaderNavBarDesktopQuickSettings = ({ openSettings }: Pick) => { const { t } = useLingui(); const { readingMode, shouldOffsetDoubleSpreads, pageScaleMode, shouldStretchPage, readingDirection, autoScroll } = useReaderSettingsStore((state) => ({ readingMode: state.readingMode, shouldOffsetDoubleSpreads: state.shouldOffsetDoubleSpreads, pageScaleMode: state.pageScaleMode, shouldStretchPage: state.shouldStretchPage, readingDirection: state.readingDirection, autoScroll: state.autoScroll, })); return ( ReaderService.updateSetting('readingMode', value)} isDefaultable onDefault={() => ReaderService.deleteSetting('readingMode')} /> ReaderService.setOffsetDoubleSpreads(value)} /> ReaderService.deleteSetting('pageScaleMode')} /> ReaderService.updateSetting('readingDirection', value)} isDefaultable onDefault={() => ReaderService.deleteSetting('readingDirection')} /> ReaderService.updateSetting('autoScroll', ...args)} /> ); }; export const ReaderNavBarDesktopQuickSettings = memo(BaseReaderNavBarDesktopQuickSettings);