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 }} />