import axios from 'axios'; import React, { ReactNode, useEffect, useState } from 'react'; import { FiUpload, FiEdit, FiFolder, FiArrowRight } from 'react-icons/fi'; import { useDispatch, useSelector } from 'react-redux'; import { useNavigate, useParams } from 'react-router-dom'; import { AppDispatch, RootState } from '../../store/store'; import api from '../../config/api'; import { setTransactionId, TRANSACTION_STATUS_ENUMS, updateTransactionStatus } from '../../store/slices/transactionSlice'; import { Transaction, TransactionResponse } from '../transactions/Transactions'; import TransactionsTable from '../transactions/TransactionsTable'; import TransactionDataTable from '../accounts/TransactionDataTable'; import StartNow from './StartNow'; import TemplateTable from '../templates/TemplateTable'; export interface StartCard { icon: ReactNode; title: string; description: string; buttonText?: string; bg: string; } const cards = [ // { // icon: , // title: 'Start a Workflow', // description: 'Begin by uploading a document and tagging fields.', // buttonText: 'Start Now', // bg: 'bg-white/60', // }, // { // icon: , // title: 'Sign an Agreement', // description: 'Upload a document you need to sign and place your signature.', // bg: 'bg-white/60', // }, { icon: , title: 'Use a Template', description: 'Pick from ready-made templates for common agreements.', link: "/templates", bg: 'bg-white/60', }, ]; const StartSection = () => { const navigate = useNavigate(); const dispatch = useDispatch() const [activeAccountId, setActiveAccountId] = useState( JSON.parse(sessionStorage.getItem('activeAccountId') || 'null') ); const user = useSelector((state: RootState) => state.user); if (!user.account || user.account === null) { window.location.href = "/login"; return; } const defaultAccountId = user.account.id; const handleStartSectionClick = (link: string) => { // if ("buttonText" in card && card.buttonText === "Start Now") { // 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)); // setTimeout(() => navigate(`/process-step-one/${defaultAccountId}/${res.data.id}`), 0) // } // }) // .catch(err => console.log(err)) // } navigate(link); } // useEffect(() => { // try { // axios.get(`${import.meta.env.VITE_BASE_URI}/api/dashboard`, {"withCredentials": true, "ngrok-skip-browser-warning": "69420"}).then((res) => { // console.log(res) // }) // } catch (error) { // console.log(error) // } // }, []) // Listen for sessionStorage changes useEffect(() => { const handleStorageChange = (e: StorageEvent) => { if (e.key === 'activeAccountId') { const newActiveAccountId = e.newValue ? JSON.parse(e.newValue) : null; setActiveAccountId(newActiveAccountId); } }; // Listen for storage events (works for changes from other tabs) window.addEventListener('storage', handleStorageChange); // Custom event listener for same-tab changes const handleCustomStorageChange = (e: CustomEvent) => { if (e.detail.key === 'activeAccountId') { setActiveAccountId(e.detail.newValue); } }; window.addEventListener('sessionStorageChange', handleCustomStorageChange as EventListener); return () => { window.removeEventListener('storage', handleStorageChange); window.removeEventListener('sessionStorageChange', handleCustomStorageChange as EventListener); }; }, []); return (

Upload Document

{/* Upload card */}
{/* Recent Data Section */}
); }; export default StartSection;