Remove custom profiles
Instead of "custom profiles" each "reading mode" acts as a profile and has its own settings
This commit is contained in:
@@ -6,50 +6,13 @@
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
import ManageAccountsIcon from '@mui/icons-material/ManageAccounts';
|
||||
import {
|
||||
IReaderSettings,
|
||||
IReaderSettingsWithDefaultFlag,
|
||||
ReaderPageScaleMode,
|
||||
ReadingMode,
|
||||
} from '@/modules/reader/types/Reader.types.ts';
|
||||
import { DEFAULT_READER_PROFILE } from '@/modules/reader/constants/ReaderSettings.constants.tsx';
|
||||
import { ValueToDisplayData } from '@/modules/core/Core.types.ts';
|
||||
import { IReaderSettings, ReaderPageScaleMode, ReadingMode } from '@/modules/reader/types/Reader.types.ts';
|
||||
|
||||
export const isOffsetDoubleSpreadPagesEditable = (readingMode: IReaderSettings['readingMode']): boolean =>
|
||||
readingMode === ReadingMode.DOUBLE_PAGE;
|
||||
|
||||
export const createProfileValueToDisplayData = (
|
||||
profiles: string[],
|
||||
setIcon: boolean = false,
|
||||
): ValueToDisplayData<string> =>
|
||||
Object.fromEntries(
|
||||
profiles.map((profile) => [
|
||||
profile,
|
||||
{
|
||||
isTitleString: profile !== DEFAULT_READER_PROFILE,
|
||||
title: profile === DEFAULT_READER_PROFILE ? 'global.label.standard' : profile,
|
||||
icon: setIcon ? <ManageAccountsIcon /> : null,
|
||||
},
|
||||
]),
|
||||
) as ValueToDisplayData<string>;
|
||||
|
||||
export const getValidReaderProfile = (profile: string, profiles: string[]): string =>
|
||||
profiles.includes(profile) ? profile : DEFAULT_READER_PROFILE;
|
||||
|
||||
export const isReaderWidthEditable = (pageScaleMode: IReaderSettings['pageScaleMode']): boolean =>
|
||||
[ReaderPageScaleMode.WIDTH, ReaderPageScaleMode.SCREEN].includes(pageScaleMode);
|
||||
|
||||
export const isContinuousReadingMode = (readingMode: IReaderSettings['readingMode']): boolean =>
|
||||
[ReadingMode.CONTINUOUS_VERTICAL, ReadingMode.CONTINUOUS_HORIZONTAL].includes(readingMode);
|
||||
|
||||
export const getReaderProfile = (
|
||||
defaultProfile: IReaderSettingsWithDefaultFlag['defaultProfile'],
|
||||
profiles: IReaderSettings['profiles'],
|
||||
readingModesDefaultProfile: IReaderSettings['readingModesDefaultProfile'],
|
||||
readingMode: IReaderSettings['readingMode'],
|
||||
): string =>
|
||||
getValidReaderProfile(
|
||||
defaultProfile.isDefault ? readingModesDefaultProfile[readingMode] : defaultProfile.value,
|
||||
profiles,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user