/* * 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 { List, ListItem, ListItemText, Switch } from '@mui/material'; import Select from '@mui/material/Select'; import MenuItem from '@mui/material/MenuItem'; import { useTranslation } from 'react-i18next'; import { AllowedMetadataValueTypes, IReaderSettings } from '@/typings'; import { NumberSetting } from '@/components/settings/NumberSetting.tsx'; import { isHorizontalReaderType } from '@/components/reader/Page.tsx'; interface IProps extends IReaderSettings { setSettingValue: (key: keyof IReaderSettings, value: AllowedMetadataValueTypes) => void; } export function ReaderSettingsOptions({ staticNav, loadNextOnEnding, readerType, showPageNumber, skipDupChapters, setSettingValue, fitPageToWindow, scalePage, offsetFirstPage, readerWidth, }: IProps) { const { t } = useTranslation(); const fitPageToWindowEligible = !isHorizontalReaderType(readerType); return ( setSettingValue('staticNav', e.target.checked)} /> setSettingValue('showPageNumber', e.target.checked)} /> setSettingValue('loadNextOnEnding', e.target.checked)} /> setSettingValue('skipDupChapters', e.target.checked)} /> {fitPageToWindowEligible && ( setSettingValue('fitPageToWindow', e.target.checked)} /> )} {fitPageToWindowEligible && fitPageToWindow && ( setSettingValue('scalePage', e.target.checked)} /> )} {(readerType === 'DoubleLTR' || readerType === 'DoubleRTL') && ( setSettingValue('offsetFirstPage', e.target.checked)} /> )} {fitPageToWindowEligible && !fitPageToWindow && ( setSettingValue('readerWidth', width)} listItemTextSx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }} /> )} ); }