import { PushChangesLimit } from "@slicemachine/manager";
import React, { useState } from "react";
import { useSelector } from "react-redux";
import { Checkbox, Flex, Label, Text, ThemeUIStyleObject } from "theme-ui";
import { Button } from "@/legacy/components/Button";
import { SliceMachineDrawerUI } from "@/legacy/components/SliceMachineDrawer";
import { getModelId, isRemoteOnly } from "@/legacy/lib/models/common/ModelData";
import { selectAllCustomTypes } from "@/modules/availableCustomTypes";
import { SliceMachineStoreType } from "@/redux/type";
import { AssociatedDocumentsCard } from "./AssociatedDocumentsCard";
const ConfirmationDialogue: React.FC<{
isConfirmed: boolean;
onToggle: () => void;
sx?: ThemeUIStyleObject;
}> = ({ onToggle, isConfirmed, sx }) => (
Are you sure to proceed?
);
export const SoftDeleteDocumentsDrawer: React.FunctionComponent<{
pushChanges: (confirmDeleteDocuments: boolean) => void;
modalData?: PushChangesLimit;
onClose: () => void;
}> = ({ pushChanges, modalData, onClose }) => {
const [confirmDeleteDocuments, setConfirmDeleteDocuments] = useState(false);
const { remoteOnlyCustomTypes } = useSelector(
(store: SliceMachineStoreType) => ({
remoteOnlyCustomTypes: selectAllCustomTypes(store).filter(isRemoteOnly),
}),
);
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
if (modalData?.type !== "SOFT") return null;
const associatedDocumentsCards = modalData.details.customTypes.map(
(customTypeDetail) => {
const customType = remoteOnlyCustomTypes.find(
(customType) => getModelId(customType) === customTypeDetail.id,
);
if (customType === undefined) return null;
return (
);
},
);
return (
{
setConfirmDeleteDocuments(!confirmDeleteDocuments);
}}
isConfirmed={confirmDeleteDocuments}
sx={{ mb: 10 }}
/>