import { apiConfig } from '@/config/api.config'; import { useManageMenusContext } from '../hooks/useManageMenusContext'; import { Alert, useDataGrid } from '@/components'; import { useCallApi } from '@/hooks'; import { ChangeEvent, useCallback, useState } from 'react'; import { toast } from 'sonner'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { EnforceSwitch } from '@/components/switch'; import { Button } from '@/components/ui/button'; const API_URL = apiConfig.service_dashboard; const DeleteDialog = () => { const { showDeleteDialog, handleDeleteDialog, selectedMenu } = useManageMenusContext(); const { reload } = useDataGrid(); const { DeleteData } = useCallApi(); const [enforce, setEnforce] = useState(false); const [alert, setAlert] = useState({ show: false, message: '' }); const doDeleteMenu = useCallback(async () => { const response = await DeleteData(`${API_URL}/menus/delete/${selectedMenu}/${enforce}`, { id: selectedMenu }); if (response?.status) { setAlert((prev) => ({ ...prev, show: false, message: '' })); handleDeleteDialog(false, null); toast.success('Success Delete Menu'); reload(); } else { toast.error('Failed Delete Menu'); setAlert((prev) => ({ ...prev, show: true, message: response?.message })); } }, [selectedMenu, enforce]); return ( handleDeleteDialog(open, null)}>

Are you sure?

you will delete this data!
) => { setEnforce(e.target.checked); }} />
{alert.show && (

{alert.message}

)}
); }; export default DeleteDialog;