From 5861217debbc647c55c2393634f988deadbaec90 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Wed, 13 Mar 2024 04:59:58 -0500 Subject: [PATCH] more --- src/App.js | 2 +- src/Components/Case/CaseDetailsPage.js | 5 +- src/Components/Document/DocEditPage.js | 58 +++++++++++++++------ src/Components/Document/DocumentListPage.js | 14 ++++- src/pageElements/Cards.js | 10 +++- 5 files changed, 67 insertions(+), 22 deletions(-) diff --git a/src/App.js b/src/App.js index d5a6e21..f1d6e56 100644 --- a/src/App.js +++ b/src/App.js @@ -137,7 +137,7 @@ function App() { /> diff --git a/src/Components/Case/CaseDetailsPage.js b/src/Components/Case/CaseDetailsPage.js index 56639f3..f10bf96 100644 --- a/src/Components/Case/CaseDetailsPage.js +++ b/src/Components/Case/CaseDetailsPage.js @@ -49,7 +49,10 @@ const CaseDetailsPage = () => { const caseId = data.parentCaseId; const docType = data.docType; const clientPosition = data.clientPosition; - navigate(`/docedit/${docId}/${caseId}/${docType}/${clientPosition}`); + const responseGenerations = 0; + navigate( + `/docedit/${docId}/${caseId}/${docType}/${clientPosition}/${responseGenerations}` + ); } else { setTimeout(getDocument, 30000, docId, caseId); } diff --git a/src/Components/Document/DocEditPage.js b/src/Components/Document/DocEditPage.js index 7b85f2c..971f6b1 100644 --- a/src/Components/Document/DocEditPage.js +++ b/src/Components/Document/DocEditPage.js @@ -6,18 +6,24 @@ import { useParams } from "react-router-dom"; import { Link, useNavigate } from "react-router-dom"; import EditElement from "../../pageElements/EditElement"; import { db } from "../../firebase"; -import { doc, getDoc } from "firebase/firestore"; import { AppContext } from "../../Hooks/useContext/appContext"; import Button from "../../pageElements/Button"; import ConfirmModal from "../Modals/ConfirmModal"; import LoadingSpinner from "../../pageElements/LoadingSpinner"; import { docEditCopy } from "../../Constants/Copy/docEditCopy.js"; import "../../styles/docedit-page.scss"; +import { + doc, + getDoc, + updateDoc, + onSnapshot, + increment, +} from "firebase/firestore"; const DocEditPage = (props) => { const navigate = useNavigate(); - const { documentId, caseId, docType, clientPosition } = useParams(); - console.log("fucking docType", docType); + const { documentId, caseId, docType, clientPosition, responseGenerations } = + useParams(); const [document, setDocument] = useState(null); const [_docType, setDocType] = useState(docType); const [fetchedCase, setFetchedCase] = useState(null); @@ -34,6 +40,9 @@ const DocEditPage = (props) => { const [isReport, setIsReport] = useState(false); const [issueText, setIssueText] = useState(""); const [showErrorModal, setShowErrorModal] = useState(false); + const [responsesCreated, setResponsesCreated] = useState( + parseInt(responseGenerations) + ); // For document generation: const state = group?.state[0] ? group.state[0].code : "ny"; const lawFirm = group ? group?.firm : null; @@ -213,6 +222,7 @@ const DocEditPage = (props) => { return obj; }); setResponses(result); + updateRespGenerationCount(docId); setIsLoading(false); }) .catch((err) => console.log(err)); @@ -221,31 +231,45 @@ const DocEditPage = (props) => { } } + async function updateRespGenerationCount(docId) { + await updateDoc(doc(db, "documents", docId), { + responseGenerations: increment(1), + }); + setResponsesCreated((responsesCreated) => responsesCreated + 1); + } + useEffect(() => { - console.log("docType in first useEffect", docType); if (!docType || docType != "combined-numbered") { return; } - generateRespIncominIrregDiscReq(documentId, clientPosition); + if (responsesCreated < 1) { + setIsLoading(true); + generateRespIncominIrregDiscReq(documentId, clientPosition); + } }, [documentId, docType, docType]); - /* + useEffect(() => { console.log("docType in second useEffect", docType); if (!docType || docType == "combined-numbered") { return; } - getCompletions(documentId, docType) - .then((data) => { - const respond = data[0].responses.length > 2 ? data[0].responses : null; - const resp = respond?.map((item, index) => { - // NEVER CHANGE THIS: - return { showInputEle: false, resp: item.text, index: index }; - }); - setResponses(resp); - }) - .catch((err) => console.log(err)); + if (responsesCreated > 1) { + setIsLoading(true); + getCompletions(documentId, docType) + .then((data) => { + const respond = + data[0].responses.length > 2 ? data[0].responses : null; + const resp = respond?.map((item, index) => { + // NEVER CHANGE THIS: + return { showInputEle: false, resp: item.text, index: index }; + }); + setResponses(resp); + setIsLoading(false); + }) + .catch((err) => console.log(err)); + } }, [documentId, docType, docType]); -*/ + async function getParsedRogs(docId, docType) { if (!docId || !docType) { return; diff --git a/src/Components/Document/DocumentListPage.js b/src/Components/Document/DocumentListPage.js index e6c1406..99de6fa 100644 --- a/src/Components/Document/DocumentListPage.js +++ b/src/Components/Document/DocumentListPage.js @@ -140,14 +140,23 @@ const DocumentListPage = ({ perPage }) => { { label: "Associated case name z - a", value: "parentCaseName2" }, ]; - function handleNavigate(documentId, caseId, documentType) { + function handleNavigate( + documentId, + caseId, + documentType, + clientPosition, + responseGenerations + ) { const docId = String(documentId); + const docType = String(documentType); if (documentType === "interrogatories-out") { //may include other in future ie req for admission navigate(`/reqedit/${docId}/interrogatories-out/${caseId}`); } else { console.log("----------------------> handeNave else"); - navigate(`/docedit/${docId}/${caseId}`); + navigate( + `/docedit/${docId}/${caseId}/${docType}/${clientPosition}/${responseGenerations}` + ); } } @@ -217,6 +226,7 @@ const DocumentListPage = ({ perPage }) => { handleNavigate={handleNavigate} displayDeleteButton={true} responseGenerations={doc.responseGenerations} + clientPosition={doc.clientPosition} /> )) ) : ( diff --git a/src/pageElements/Cards.js b/src/pageElements/Cards.js index 68b7bd0..13af64d 100644 --- a/src/pageElements/Cards.js +++ b/src/pageElements/Cards.js @@ -274,6 +274,7 @@ export const DocCard = (props) => { responseGenerations, confirmDelete, createdAt, + clientPosition, } = props; const createdAtTime = createdAt?.seconds ? createdAt?.seconds @@ -363,7 +364,14 @@ export const DocCard = (props) => { disabled={disabled} className={"primary-button pt-2 pb-2 gen-button"} onClick={() => - documentId && handleNavigate(documentId, parentCaseId, docType) + documentId && + handleNavigate( + documentId, + parentCaseId, + docType, + clientPosition, + responseGenerations + ) } labelText={buttonText} />