"use client"; import React, { useState } from "react"; import { Grid, Col, Icon } from "@tremor/react"; import { Title } from "@tremor/react"; import { Modal, message, } from "antd"; import { modelDeleteCall } from "./networking"; import { TrashIcon } from "@heroicons/react/outline"; interface DeleteModelProps { modelID: string; accessToken: string; } const DeleteModelButton: React.FC<DeleteModelProps> = ({ modelID, accessToken, }) => { const [isModalVisible, setIsModalVisible] = useState(false); const handleDelete = async () => { try { message.info("Making API Call"); setIsModalVisible(true); const response = await modelDeleteCall(accessToken, modelID); console.log("model delete Response:", response); message.success(`Model ${modelID} deleted successfully`); setIsModalVisible(false); } catch (error) { console.error("Error deleting the model:", error); } }; return ( <div> <Icon onClick={() => setIsModalVisible(true)} icon={TrashIcon} size="sm" /> <Modal open={isModalVisible} onOk={handleDelete} okType="danger" onCancel={() => setIsModalVisible(false)} > <Grid numItems={1} className="gap-2 w-full"> <Title>Delete Model</Title> <Col numColSpan={1}> <p> Are you sure you want to delete this model? This action is irreversible. </p> </Col> <Col numColSpan={1}> <p> Model ID: <b>{modelID}</b> </p> </Col> </Grid> </Modal> </div> ); }; export default DeleteModelButton;