import { t } from "@/config/i18n"; import { useGetDeleteDependencies } from "@/services/api"; import { Button, Group, List, Modal, Text, type ModalBaseProps } from "@mantine/core"; import { IconCancel, IconCheck } from "@tabler/icons-react"; import { Link } from "react-router"; export type DeleteModalProps = ModalBaseProps & { handleSubmit: (id: number) => void; entityType: string; entity?: { name: string; id: number } | undefined; }; export function DeleteModal({ opened, onClose, handleSubmit, entityType, entity, }: DeleteModalProps) { if (!entity) { return null; } const { data: deleteDependencies } = useGetDeleteDependencies(entityType, entity.id); return ( {`${t("are you sure you want to delete", { capfirst: true })} : "${entity.name}"`} {deleteDependencies && deleteDependencies.length > 0 ? ( {`${t("this will also delete", { capfirst: true })} :`} ) : null} { {deleteDependencies?.map((dependency) => ( {dependency.type === "contract" ? ( `${t(dependency.type, { capfirst: true })} - ${dependency.name}` ) : ( {`${t(dependency.type, { capfirst: true })} - ${dependency.name}`} )} ))} } ); }