import { useState } from "react"; import { MdOutlineDelete } from "react-icons/md"; import { Close, Flex, Heading, Paragraph, Text, useThemeUI } from "theme-ui"; import { deleteSlice } from "@/features/slices/actions/deleteSlice"; import { useAutoSync } from "@/features/sync/AutoSyncProvider"; import { Button } from "@/legacy/components/Button"; import { Card } from "@/legacy/components/Card"; import SliceMachineModal from "@/legacy/components/SliceMachineModal"; import useSliceMachineActions from "@/modules/useSliceMachineActions"; type DeleteSliceModalProps = { isOpen: boolean; libName: string; sliceId: string; sliceName: string; sliceVariationIds: string[]; onClose: () => void; }; export const DeleteSliceModal: React.FunctionComponent< DeleteSliceModalProps > = ({ isOpen, libName, sliceId, sliceName, sliceVariationIds, onClose }) => { const [isDeleting, setIsDeleting] = useState(false); const { deleteSliceSuccess } = useSliceMachineActions(); const { syncChanges } = useAutoSync(); const { theme } = useThemeUI(); const onDelete = async () => { setIsDeleting(true); await deleteSlice({ libraryID: libName, sliceID: sliceId, sliceName, sliceVariationIds, onSuccess: () => { deleteSliceSuccess(sliceId, libName); syncChanges(); }, }); onClose(); setIsDeleting(false); }; return ( `1px solid ${String(t.colors?.borders)}`, }} > Delete Slice } Footer={() => ( `1px solid ${String(t.colors?.darkBorders)}`, backgroundColor: "gray", }} >