import { useDispatch, useSelector } from "react-redux"; import { removeRecipientAsync, removeSelectedRecipient, // setSigningOrder, updateRecipientOrder, // 👈 You need to define this in your slice } from "../../../store/slices/selectedRecipientsSlice"; import { AppDispatch, RootState } from "../../../store/store"; import { ImBin } from "react-icons/im"; import { FaUsersLine } from "react-icons/fa6"; import { useState } from "react"; import SigningOrderDiagram from "../../../SigningOrderDiagram "; import { IoCloseOutline } from "react-icons/io5"; import { useParams } from "react-router-dom"; import { FiEdit } from "react-icons/fi"; const getInitials = (name: string) => { if (!name) return ""; return name .split(" ") .map((n) => n[0]) .join("") .toUpperCase(); }; type CardsData = { setEditRecipient: (recipient: any) => void; // Replace `any` with the actual type if known setEditCase: (string: any) => void; transactionTemplateToggle: string }; const RecipientCards = ({ setEditRecipient, setEditCase, transactionTemplateToggle }: CardsData) => { const templateId = useParams<{ templateId: string }>().templateId; let { accountId, transactionId } = useParams<{ accountId: string, transactionId: string }>(); const dispatch = useDispatch(); if (!transactionId) { transactionId = templateId; } const recipients = useSelector((state: RootState) => state.selectedRecipients.recipients); console.log("recipients.length", recipients) // const signingOrder = useSelector((state: RootState) => state.selectedRecipients.signingOrder); const signType = useSelector((state: RootState) => state.selectedDocuments.signType); const [signingOrderModal, setSigningOrderModal] = useState({ open: false }); const handleOrderChange = (id: string, value: number) => { dispatch(updateRecipientOrder({ id, routingOrder: value })); }; const handleEditRecipient = (recipient) => { // alert(JSON.stringify(recipient)) setEditCase('Edit') setEditRecipient(recipient) } const handleRemoveRecipient = (recipient) => { if (!accountId || !transactionId) return; if (recipient.uuid) { dispatch(removeSelectedRecipient(recipient)) } else { dispatch(removeRecipientAsync({ recipientId: recipient.id, email: recipient.email, accountId: accountId, transactionId: transactionId, })) } if (recipients.length === 2) { let leftRecipient = recipients.filter((obj) => { if ("id" in obj && "id" in recipient) { if (obj.id !== recipient.id) return true } if ("email" in obj && "email" in recipient) { if (obj.email !== recipient.email) return true } return false }) dispatch(updateRecipientOrder({ id: leftRecipient[0].id || leftRecipient[0].email, routingOrder: 1 })); } } return (
{recipient.firstName} {recipient.lastName || ""}
{recipient.email} | {recipient.type} {recipient.roleName ? `| Role : ${recipient.roleName}` : ""}
Signing Order