import React, { useEffect, useRef } from 'react' import { IoMdArrowDropdown } from "react-icons/io"; import { IoIosSend } from "react-icons/io"; import { useDispatch, useSelector } from 'react-redux'; import { setSignType, SignType } from '../../store/slices/selectedDocsSlice'; import { RootState } from '../../store/store'; import { useNavigate } from 'react-router-dom'; import { Bounce, toast } from 'react-toastify'; import api from '../../config/api'; import { StartCard } from '../home/StartSection'; import { setTransactionId, TRANSACTION_STATUS_ENUMS, updateTransactionStatus } from '../../store/slices/transactionSlice'; import { SignTypeEnum } from '../../utlity/types'; // import { IoMdArrowDropright } from "react-icons/io"; interface Props { showSideBar: boolean; } const SendForSign: React.FC = ({ showSideBar }) => { const navigate = useNavigate(); const dispatch = useDispatch(); const [sendForSignDropdown, setSendForSignDropdown] = React.useState(false); const dropDownRef = useRef(null); useEffect(() => { sendForSignDropdown && dropDownRef.current?.focus(); }, [sendForSignDropdown]) const user = useSelector((state: RootState) => state.user); if (!user.account || user.account === null) { window.location.href = "/login"; return; } const defaultAccountId = user.account.id; const selectedDocuments = useSelector((state: RootState) => state.selectedDocuments.selectedDocuments); const handleStartSectionClick = (signType: SignTypeEnum) => { api.post(`/api/accounts/${defaultAccountId}/transactions`) .then(res => { if (res.status === 200 || res.status === 201) { dispatch(updateTransactionStatus(TRANSACTION_STATUS_ENUMS.TRANSACTION_INITIATED)); dispatch(setTransactionId(res.data)); let navigateUrl = `/process-step-one/${defaultAccountId}/${res.data}`; if (signType === SignTypeEnum.selfSign) navigateUrl = `/process-step-one/${defaultAccountId}/${res.data}/self_sign`; setTimeout(() => navigate(navigateUrl), 0) } }) .catch(err => console.log(err)) } // const handleSendSignDispatch: (type: "self-sign" | "multiple-sign") => void = (signType) => { // if (selectedDocuments === null || !selectedDocuments.length) { // if (selectedDocuments === null || !selectedDocuments.length) { // toast.dismiss(); // toast.error("Select 📄 Documents first!", { // position: "bottom-right", // autoClose: 5000, // hideProgressBar: false, // closeOnClick: false, // pauseOnHover: true, // draggable: true, // progress: undefined, // theme: "light", // transition: Bounce, // }); // return // } // } // if (selectedDocuments.length) { // dispatch(setSignType(signType)); // } // } return (
setSendForSignDropdown(false)} >
setSendForSignDropdown(!sendForSignDropdown)}>
{ showSideBar ?

Send for signature

: }
{showSideBar &&

}
{/* Drop Down Box */} { sendForSignDropdown &&
handleStartSectionClick(SignTypeEnum.selfSign)}>

Self Sign

You're the only signer.

handleStartSectionClick(SignTypeEnum.multipleSign)}>

Send for Sign

You and other need to sign.

}
) } export default SendForSign