import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { RootState, AppDispatch } from "../../store/store"; import { updateSelectedDocuments } from "../../store/slices/selectedDocsSlice"; import { BsFiletypePdf, BsFiletypeDocx } from "react-icons/bs"; import { PiDotsThreeOutlineVerticalFill } from "react-icons/pi"; import { fetchDocuments } from "../../store/slices/documentSlice"; import { useNavigate } from "react-router-dom"; import { FaCheck } from "react-icons/fa"; const ShowDocs = () => { const dispatch = useDispatch(); const navigate = useNavigate(); // const signTypeGlobalState = useSelector((state: RootState) => state.selectedDocuments.signType); const documents = useSelector((state: RootState) => state.documents.documents); // Local state to track selected documents and sign type const [selectedDocs, setSelectedDocs] = useState([]); // const [signType, setSignType] = useState<"self-sign" | "multiple-sign" | null>(null); // Handle checkbox selection const handleSelect = (docId: string) => { setSelectedDocs((prev) => prev.includes(docId) ? prev.filter((id) => id != docId) : [...prev, docId] ); }; // Handle button click to update Redux state const handleUpdateSelectedDocs = () => { const selectedDocuments = documents.filter((doc) => selectedDocs.includes(doc.id)); dispatch(updateSelectedDocuments({ documents: selectedDocuments })); }; // Updating Redux State When Anywhere Sign Type is set ["self-sign" | "multiple-sign"] useEffect(() => { // if (signTypeGlobalState == null) return; handleUpdateSelectedDocs() }, [selectedDocs]) // useEffect(() => { // setTimeout(async () => { // const res = await dispatch(fetchDocuments()); // if (res.meta.requestStatus == "rejected") { // Object.keys(localStorage).forEach((key) => { // if (key.startsWith("persist:root-")) { // localStorage.removeItem(key); // } // }); // window.location.href = "/login"; // } // }, 1000) // }, []); return ( <> {/* {documents.length > 0 && (
{documents.map((doc, idx) => (
handleSelect(doc.id)} />
{doc.extension == "pdf" ? ( ) : ( )}

.{doc.extension}

{doc.original ? "Original" : "Signed"}

))}
)} */} {documents.length > 0 && (
{documents.map((doc, idx) => ( handleSelect(doc.id)} key={doc.id} className="hover:bg-gray-50"> {/* */} ))}
Name Type Status
{/* handleSelect(doc.id)} className="form-checkbox text-blue-600" /> */}
{selectedDocs.includes(doc.id) && }
{doc.extension} {doc.original ? "Original" : "Signed"}
)} ); }; export default ShowDocs;