diff --git a/web/src/features/dev/debug/alert.ts b/web/src/features/dev/debug/alert.ts index 8f98586..72674c2 100644 --- a/web/src/features/dev/debug/alert.ts +++ b/web/src/features/dev/debug/alert.ts @@ -10,10 +10,10 @@ export const debugAlert = () => { content: 'General kenobi \n Markdown works', centered: true, cancel: true, - labels: { - confirm: 'Ok', - cancel: 'Not ok', - }, + // labels: { + // confirm: 'Ok', + // cancel: 'Not ok', + // }, }, }, ]); diff --git a/web/src/features/dialog/AlertDialog.tsx b/web/src/features/dialog/AlertDialog.tsx index 5cf03a6..a6643a8 100644 --- a/web/src/features/dialog/AlertDialog.tsx +++ b/web/src/features/dialog/AlertDialog.tsx @@ -1,14 +1,5 @@ -import { - AlertDialog as Dialog, - AlertDialogBody, - AlertDialogFooter, - AlertDialogHeader, - AlertDialogContent, - AlertDialogOverlay, - useDisclosure, - Button, -} from '@chakra-ui/react'; -import { useRef, useState } from 'react'; +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'; @@ -27,57 +18,66 @@ export interface AlertProps { const AlertDialog: React.FC = () => { const { locale } = useLocales(); - const { isOpen, onOpen, onClose } = useDisclosure(); - const cancelRef = useRef(null); + const [opened, setOpened] = useState(false); const [dialogData, setDialogData] = useState({ header: '', content: '', }); const closeAlert = (button: string) => { - onClose(); + setOpened(false); fetchNui('closeAlert', button); }; useNuiEvent('sendAlert', (data: AlertProps) => { setDialogData(data); - onOpen(); + setOpened(true); }); useNuiEvent('closeAlertDialog', () => { - onClose(); + setOpened(false); }); return ( <> - closeAlert('cancel')} + { + setOpened(false); + closeAlert('cancel'); + }} + withCloseButton={false} + overlayOpacity={0.5} + exitTransitionDuration={150} + title={{dialogData.header}} > - - - - {dialogData.header} - - - {dialogData.content} - - + + {dialogData.content} + {dialogData.cancel && ( - )} - - - - + + + ); }; diff --git a/web/src/main.tsx b/web/src/main.tsx index 98073e3..5a89415 100644 --- a/web/src/main.tsx +++ b/web/src/main.tsx @@ -4,7 +4,6 @@ import './index.css'; import App from './App'; import { ChakraProvider } from '@chakra-ui/react'; import { theme } from './theme'; -import { debugData } from './utils/debugData'; import { fas } from '@fortawesome/free-solid-svg-icons'; import { far } from '@fortawesome/free-regular-svg-icons'; import { fab } from '@fortawesome/free-brands-svg-icons'; diff --git a/web/src/providers/LocaleProvider.tsx b/web/src/providers/LocaleProvider.tsx index dd6e102..330fcd5 100644 --- a/web/src/providers/LocaleProvider.tsx +++ b/web/src/providers/LocaleProvider.tsx @@ -15,6 +15,7 @@ debugData([ data: { language: 'English', ui: { + cancel: 'Cancel', close: 'Close', confirm: 'Confirm', },