import { Box, Button, Typography } from '@mui/joy' import { useCallback, useEffect, useState } from 'react' import KeyboardShortcutHint from '../../../components/common/KeyboardShortcutHint' import { useResponsiveModal } from '../../../hooks/useResponsiveModal' function AcknowledgmentModal({ config }) { const { ResponsiveModal } = useResponsiveModal() const [showKeyboardShortcuts, setShowKeyboardShortcuts] = useState(false) const handleAction = useCallback(() => { config.onClose() }, [config]) // Keyboard shortcuts for acknowledgment modal useEffect(() => { const handleKeyDown = event => { if (!config?.isOpen) return // Show keyboard shortcuts when Ctrl/Cmd is pressed if (event.ctrlKey || event.metaKey) { setShowKeyboardShortcuts(true) } // Ctrl/Cmd + Y for acknowledge if ((event.ctrlKey || event.metaKey) && event.key === 'y') { event.preventDefault() handleAction() return } // Escape key for acknowledge if (event.key === 'Escape') { event.preventDefault() handleAction() return } // Enter key for acknowledge if (event.key === 'Enter') { event.preventDefault() handleAction() return } } const handleKeyUp = event => { if (!event.ctrlKey && !event.metaKey) { setShowKeyboardShortcuts(false) } } if (config?.isOpen) { document.addEventListener('keydown', handleKeyDown) document.addEventListener('keyup', handleKeyUp) } return () => { document.removeEventListener('keydown', handleKeyDown) document.removeEventListener('keyup', handleKeyUp) } }, [config?.isOpen, handleAction]) return ( {config?.title} {config?.message} ) } export default AcknowledgmentModal