import { useState } from "react"; import { Button } from "@/src/components/ui/button"; import { Popover, PopoverContent, PopoverTrigger, } from "@/src/components/ui/popover"; import { type GetModelResult } from "@/src/features/models/validation"; import { usePostHogClientCapture } from "@/src/features/posthog-analytics/usePostHogClientCapture"; import { useHasProjectAccess } from "@/src/features/rbac/utils/checkProjectAccess"; import { api } from "@/src/utils/api"; export const DeleteModelButton = ({ modelData, projectId, onSuccess, }: { modelData: GetModelResult; projectId: string; onSuccess?: () => void; }) => { const [isOpen, setIsOpen] = useState(false); const utils = api.useUtils(); const capture = usePostHogClientCapture(); const mut = api.models.delete.useMutation({ onSuccess: () => { void utils.models.invalidate(); onSuccess?.(); }, }); const hasAccess = useHasProjectAccess({ projectId, scope: "models:CUD", }); return ( setIsOpen(!isOpen)}>

Please confirm

This action permanently deletes this model definition.

); };