2023-02-28 10:01:57 +00:00
|
|
|
import { ReaderSettings } from '../../../lib/hooks/useReaderSettings'
|
2022-06-21 22:38:02 +00:00
|
|
|
import { VStack } from '../../elements/LayoutPrimitives'
|
2023-02-28 10:20:26 +00:00
|
|
|
import {
|
|
|
|
|
ModalRoot,
|
|
|
|
|
ModalContent,
|
|
|
|
|
ModalOverlay,
|
|
|
|
|
} from '../../elements/ModalPrimitives'
|
2022-04-12 19:58:04 +00:00
|
|
|
import { ReaderSettingsControl } from './ReaderSettingsControl'
|
2022-04-12 04:03:35 +00:00
|
|
|
|
|
|
|
|
type DisplaySettingsModalProps = {
|
2022-06-21 22:38:02 +00:00
|
|
|
centerX: boolean
|
2022-04-12 04:03:35 +00:00
|
|
|
onOpenChange: (open: boolean) => void
|
2022-06-21 22:38:02 +00:00
|
|
|
triggerElementRef?: React.RefObject<HTMLElement>
|
2023-02-28 10:01:57 +00:00
|
|
|
readerSettings: ReaderSettings
|
2022-04-12 04:03:35 +00:00
|
|
|
}
|
|
|
|
|
|
2023-02-27 02:34:12 +00:00
|
|
|
export function DisplaySettingsModal(
|
|
|
|
|
props: DisplaySettingsModalProps
|
|
|
|
|
): JSX.Element {
|
2022-04-12 04:03:35 +00:00
|
|
|
return (
|
|
|
|
|
<ModalRoot defaultOpen onOpenChange={props.onOpenChange}>
|
2023-09-27 09:40:42 +00:00
|
|
|
<ModalOverlay css={{ backgroundColor: 'unset' }} />
|
2022-04-12 04:03:35 +00:00
|
|
|
<ModalContent
|
2022-06-21 22:38:02 +00:00
|
|
|
css={{
|
2023-02-28 10:01:57 +00:00
|
|
|
width: '345px',
|
|
|
|
|
padding: '0px',
|
2023-05-25 12:35:07 +00:00
|
|
|
top: '262px',
|
2023-02-28 10:20:26 +00:00
|
|
|
left: 'calc(100% - 250px)',
|
|
|
|
|
'@lgDown': {
|
|
|
|
|
top: '300px',
|
|
|
|
|
left: '50%',
|
|
|
|
|
},
|
2022-06-21 22:38:02 +00:00
|
|
|
}}
|
2022-04-12 04:03:35 +00:00
|
|
|
onPointerDownOutside={(event) => {
|
|
|
|
|
event.preventDefault()
|
|
|
|
|
props.onOpenChange(false)
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<VStack css={{ width: '100%' }}>
|
2023-02-28 10:01:57 +00:00
|
|
|
<ReaderSettingsControl readerSettings={props.readerSettings} />
|
2022-04-12 04:03:35 +00:00
|
|
|
</VStack>
|
|
|
|
|
</ModalContent>
|
|
|
|
|
</ModalRoot>
|
|
|
|
|
)
|
|
|
|
|
}
|