From b508dd9b98889be75afc8d3ba8b2724ef0f167b6 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Tue, 16 Jan 2024 13:46:33 -0600 Subject: [PATCH 1/6] more --- src/Components/Case/CaseDetailsPage.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Components/Case/CaseDetailsPage.js b/src/Components/Case/CaseDetailsPage.js index 428bb33..8ddf861 100644 --- a/src/Components/Case/CaseDetailsPage.js +++ b/src/Components/Case/CaseDetailsPage.js @@ -20,7 +20,8 @@ const CaseDetailsPage = () => { const { appState } = useContext(AppContext); const { group } = appState; const appUserId = group ? group.appUserId : null; - const message = "Parsing document. This may take several minutes."; + const message = + "Parsing document. Please be patient, this may take several minutes."; const handleNavigate = () => { navigate("/documents"); From f2be25886f73609b90d0a02e3eb4cf601597bac5 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Tue, 16 Jan 2024 13:49:53 -0600 Subject: [PATCH 2/6] more --- src/Components/Document/DocEditPage.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Components/Document/DocEditPage.js b/src/Components/Document/DocEditPage.js index a46e787..43b05bc 100644 --- a/src/Components/Document/DocEditPage.js +++ b/src/Components/Document/DocEditPage.js @@ -107,7 +107,6 @@ const DocEditPage = () => { const messages = [ "Generating responses. Please be patient, this may take several minutes.", - 'Do not click "back" on your browser.', ]; /* From cb3d0eadbf83b5512c4b1371e0b9f1cdef5f0355 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Tue, 16 Jan 2024 20:47:42 -0600 Subject: [PATCH 3/6] more --- src/Components/Document/DocEditPage.js | 21 +++++++++++++++++++++ src/Components/Modals/ConfirmModal.js | 1 + src/styles/docedit-page.scss | 11 ++++++++++- 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/Components/Document/DocEditPage.js b/src/Components/Document/DocEditPage.js index 43b05bc..bea0469 100644 --- a/src/Components/Document/DocEditPage.js +++ b/src/Components/Document/DocEditPage.js @@ -35,6 +35,7 @@ const DocEditPage = () => { const [saveDocumentId, setSaveDocumentId] = useState(""); const [showSaveModal, setShowSaveModal] = useState(false); const [isLoading, setIsLoading] = useState(false); + const [isReport, setIsReport] = useState(false); const [responsesCreated, setResponsesCreated] = useState( parseInt(responseGenerations) ); @@ -510,6 +511,10 @@ const DocEditPage = () => { setShowSaveModal(true); }; + const handleConfirmReport = () => { + setShowSaveModal(true); + }; + const onScrollClick = () => { const bottom = window.document.scrollingElement.scrollHeight; const place = window.scrollY; @@ -586,6 +591,12 @@ const DocEditPage = () => { ))} +
handleConfirmReport()} + > +
Report an issue
+
{/* TODO: add tooltip: "This will save the document and create a .docx file that will (be downloaded? saved somewhere?" */} @@ -624,6 +635,16 @@ const DocEditPage = () => { } /> ) : null} + {showSaveModal && isReport && documentId !== null ? ( + + ) : null} ); }; diff --git a/src/Components/Modals/ConfirmModal.js b/src/Components/Modals/ConfirmModal.js index 0e86c23..160799e 100644 --- a/src/Components/Modals/ConfirmModal.js +++ b/src/Components/Modals/ConfirmModal.js @@ -7,6 +7,7 @@ const ConfirmModal = ({ buttonLabelText, modalText, isBusy, + isReport, }) => { return ( diff --git a/src/styles/docedit-page.scss b/src/styles/docedit-page.scss index 6cc773c..a7cb8e9 100644 --- a/src/styles/docedit-page.scss +++ b/src/styles/docedit-page.scss @@ -52,7 +52,7 @@ display: flex; flex-direction: column; align-items: flex-end; - margin-top: 1rem; + margin-top: 0.6rem; } .edit-back-button { @@ -359,6 +359,15 @@ margin-top: 50px; } +.docedit-report-link { + color: red; +} + +.docedit-report-link:hover { + text-decoration: underline; + cursor: pointer; +} + @media only screen and (max-width: 1140px) { .scroll-button { right: 30px; From 19dc85037429e31a793aa12bfe2306230c29cf50 Mon Sep 17 00:00:00 2001 From: Kenneth Jannette Date: Tue, 16 Jan 2024 21:30:37 -0600 Subject: [PATCH 4/6] more --- src/Components/Document/DocEditPage.js | 38 ++++++++++++++++++++++---- src/Components/Modals/ConfirmModal.js | 35 ++++++++++++++++++++++-- src/styles/docedit-page.scss | 1 + 3 files changed, 67 insertions(+), 7 deletions(-) diff --git a/src/Components/Document/DocEditPage.js b/src/Components/Document/DocEditPage.js index bea0469..fb675eb 100644 --- a/src/Components/Document/DocEditPage.js +++ b/src/Components/Document/DocEditPage.js @@ -6,13 +6,16 @@ import { Link, useNavigate } from "react-router-dom"; import EditElement from "../../pageElements/EditElement"; import { db } from "../../firebase"; import { + collection, updateDoc, onSnapshot, doc, getDoc, + setDoc, increment, } from "firebase/firestore"; import { AppContext } from "../../Hooks/useContext/appContext"; + import Button from "../../pageElements/Button"; import ConfirmModal from "../Modals/ConfirmModal"; import LoadingSpinner from "../../pageElements/LoadingSpinner"; @@ -36,6 +39,7 @@ const DocEditPage = () => { const [showSaveModal, setShowSaveModal] = useState(false); const [isLoading, setIsLoading] = useState(false); const [isReport, setIsReport] = useState(false); + const [issueText, setIssueText] = useState(""); const [responsesCreated, setResponsesCreated] = useState( parseInt(responseGenerations) ); @@ -511,10 +515,28 @@ const DocEditPage = () => { setShowSaveModal(true); }; + const handleReport = () => {}; + const handleConfirmReport = () => { setShowSaveModal(true); + setIsReport(true); }; + async function reportDoc() { + const data = { + documentId: documentId, + caseId: caseId, + appUserId: appUserId, + issueDescription: issueText, + }; + try { + const reportRef = collection(db, "supportrequests"); + await setDoc(doc(reportRef, documentId), data); + } catch (err) { + console.log("Error saving case to db:", err); + } + } + const onScrollClick = () => { const bottom = window.document.scrollingElement.scrollHeight; const place = window.scrollY; @@ -548,7 +570,7 @@ const DocEditPage = () => { fetchedCase?.clientPosition == "Defendant" ? fetchedCase?.plaintiffParties : fetchedCase?.defendantParties; - console.log("parsedRogs", parsedRogs); + const editingContent = () => { return ( <> @@ -625,7 +647,7 @@ const DocEditPage = () => {
- {showSaveModal && documentId !== null ? ( + {showSaveModal && !isReport && documentId !== null ? ( { ) : null} {showSaveModal && isReport && documentId !== null ? ( ) : null} diff --git a/src/Components/Modals/ConfirmModal.js b/src/Components/Modals/ConfirmModal.js index 160799e..c6cec02 100644 --- a/src/Components/Modals/ConfirmModal.js +++ b/src/Components/Modals/ConfirmModal.js @@ -1,6 +1,9 @@ +import { useState } from "react"; import Button from "../../pageElements/Button"; import Modal from "react-bootstrap/Modal"; +import TextInput from "../../pageElements/TextInput"; +import { db } from "../../firebase"; const ConfirmModal = ({ onCancel, onConfirm, @@ -8,13 +11,41 @@ const ConfirmModal = ({ modalText, isBusy, isReport, + appUserId, + caseId, + documentId, + issueText, + setIssueText, + reportDoc, }) => { + console.log("isReport", isReport); + return ( - Confirmation + {isReport ? ( + Report issue + ) : ( + Confirmation + )} - {modalText} + + {modalText} + {isReport ? ( +
+ setIssueText(e.target.value)} + label={issueText ? "" : "Issue description"} + /> +
+ ) : ( + <> + )} +