import { Modal, Button, Stack, Group } 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'; export interface AlertProps { header: string; content: string; centered?: boolean; cancel?: boolean; labels?: { cancel?: string; confirm?: string; }; } const AlertDialog: React.FC = () => { const { locale } = useLocales(); 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} title={{dialogData.header}} > {dialogData.content} {dialogData.cancel && ( )} ); }; export default AlertDialog;