import Modal from './common/ResizableDraggableModal'; import { Button } from 'antd'; import { SafetyCertificateOutlined } from '@ant-design/icons'; import type { CSSProperties } from 'react'; import type { OverlayWorkbenchTheme } from '../utils/overlayWorkbenchTheme'; import { SECURITY_UPDATE_ACTION_BUTTON_CLASS, SECURITY_UPDATE_MODAL_CLASS, getSecurityUpdateActionButtonStyle, getSecurityUpdateShellSurfaceStyle, } from '../utils/securityUpdateVisuals'; import { useI18n } from '../i18n/provider'; interface SecurityUpdateIntroModalProps { open: boolean; loading?: boolean; darkMode: boolean; overlayTheme: OverlayWorkbenchTheme; surfaceOpacity?: number; onStart: () => void; onPostpone: () => void; onViewDetails: () => void; } const actionButtonStyle: CSSProperties = { ...getSecurityUpdateActionButtonStyle(), height: 38, paddingInline: 18, }; const SecurityUpdateIntroModal = ({ open, loading = false, darkMode, overlayTheme, surfaceOpacity = 1, onStart, onPostpone, onViewDetails, }: SecurityUpdateIntroModalProps) => { const { t } = useI18n(); return (
{t('security_update.intro.title')}
{t('security_update.intro.subtitle')}
)} open={open} closable={!loading} maskClosable={!loading} keyboard={!loading} onCancel={onPostpone} width={560} styles={{ content: getSecurityUpdateShellSurfaceStyle(overlayTheme, surfaceOpacity), header: { background: 'transparent', borderBottom: 'none', paddingBottom: 8 }, body: { paddingTop: 8 }, footer: { background: 'transparent', borderTop: 'none', paddingTop: 10 }, }} footer={[ , , , ]} >
{t('security_update.intro.description')}
); }; export type { SecurityUpdateIntroModalProps }; export default SecurityUpdateIntroModal;