/* * 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 Box from '@mui/material/Box'; import { ComponentProps, memo } from 'react'; import { ProgressBarPosition } from '@/modules/reader/types/Reader.types.ts'; import { applyStyles } from '@/modules/core/utils/ApplyStyles.ts'; import { ReaderProgressBarSlot } from '@/modules/reader/components/overlay/progress-bar/ReaderProgressBarSlot'; const SLOT_SX_PROP: NonNullable['slotProps']>['box']>['sx'] = { display: 'flex', alignItems: 'center', justifyContent: 'end', position: 'relative', backgroundColor: 'background.default', }; const START_END_GAP = '4px'; const POINT_SIZE = '3px'; const ProgressBarPagePoint = memo( ({ isTrailingPage, pagesIndex, totalPages, }: { isTrailingPage: boolean; pagesIndex: number; totalPages: number; }) => { const isFirstPage = pagesIndex === 0; const isLastPage = pagesIndex === totalPages - 1; const left = `${(pagesIndex / (totalPages - 1)) * 100}%`; return ( ); }, ); export const ReaderProgressBarSlotMobile = memo( ({ pageName, isTrailingPage, pagesIndex, totalPages, }: { pageName: string; isTrailingPage: boolean; pagesIndex: number; totalPages: number; }) => ( ), );