mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-16 01:26:37 +08:00
44 lines
1.0 KiB
TypeScript
44 lines
1.0 KiB
TypeScript
import { Modal, ModalCloseButton, ModalWrapper } from '@affine/component';
|
|
import type { FC, PropsWithChildren } from 'react';
|
|
import { useCallback } from 'react';
|
|
|
|
export type SettingModalProps = {
|
|
open: boolean;
|
|
setOpen: (value: boolean) => void;
|
|
};
|
|
|
|
export const SettingModal: FC<PropsWithChildren<SettingModalProps>> = ({
|
|
children,
|
|
open,
|
|
setOpen,
|
|
}) => {
|
|
const handleClose = useCallback(() => {
|
|
setOpen(false);
|
|
}, [setOpen]);
|
|
|
|
return (
|
|
<Modal
|
|
open={open}
|
|
onClose={handleClose}
|
|
wrapperPosition={['center', 'center']}
|
|
data-testid="setting-modal"
|
|
>
|
|
<ModalWrapper
|
|
width={1080}
|
|
height={760}
|
|
style={{
|
|
maxHeight: '85vh',
|
|
maxWidth: '70vw',
|
|
overflow: 'hidden',
|
|
display: 'flex',
|
|
backgroundColor: 'var(--affine-background-overlay-panel-color)',
|
|
boxShadow: 'var(--affine-popover-shadow)',
|
|
}}
|
|
>
|
|
<ModalCloseButton top={16} right={20} onClick={handleClose} />
|
|
{children}
|
|
</ModalWrapper>
|
|
</Modal>
|
|
);
|
|
};
|