import { apiConfig } from '@/config/api.config'; import { useManageProviderContext } from '../hooks/useManageProviderContext'; 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_master_data; const DeleteDialog = () => { const { showDeleteDialog, handleDeleteDialog, selectedProvider } = useManageProviderContext(); const { reload } = useDataGrid(); const { DeleteData } = useCallApi(); const [enforce, setEnforce] = useState(false); const [alert, setAlert] = useState({ show: false, message: '' }); const doDeleteProvider = useCallback(async () => { const response = await DeleteData(`${API_URL}/provider/delete/${selectedProvider}/${enforce}`, { id: selectedProvider }); if (response?.status) { setAlert((prev) => ({ ...prev, show: false, message: '' })); handleDeleteDialog(false, null); toast.success('Success Delete Provider'); reload(); } else { setAlert((prev) => ({ ...prev, show: true, message: response?.message })); toast.error('Failed Delete Provider'); } }, [selectedProvider, enforce]); return ( handleDeleteDialog(open, null)}>

Are you sure?

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

{alert.message}

)}
); }; export default DeleteDialog;