import { Modal, Button, Stack, Group, useMantineTheme } from '@mantine/core'; import { useState } from 'react'; import ReactMarkdown from 'react-markdown'; import { useNuiEvent } from '../../hooks/useNuiEvent'; import { fetchNui } from '../../utils/fetchNui'; import { useLocales } from '../../providers/LocaleProvider'; import remarkGfm from 'remark-gfm'; import type { AlertProps } from '../../typings'; const AlertDialog: React.FC = () => { const { locale } = useLocales(); const theme = useMantineTheme(); const [opened, setOpened] = useState(false); const [dialogData, setDialogData] = useState({ header: '', content: '', }); const closeAlert = (button: string) => { setOpened(false); fetchNui('closeAlert', button); }; useNuiEvent('sendAlert', (data: AlertProps) => { setDialogData(data); setOpened(true); }); useNuiEvent('closeAlertDialog', () => { setOpened(false); }); return ( <> { setOpened(false); closeAlert('cancel'); }} withCloseButton={false} overlayOpacity={0.5} exitTransitionDuration={150} transition="fade" title={{dialogData.header}} > , }} > {dialogData.content} {dialogData.cancel && ( )} ); }; export default AlertDialog;