This commit is contained in:
Kenneth Jannette
2024-03-14 22:56:52 -05:00
parent cb6a345b94
commit 2604a74160
4 changed files with 102 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
import React, { useEffect, useContext, useState } from "react"; import React, { useEffect, useContext, useState } from "react";
import { useNavigate } from "react-router-dom"; import { useNavigate, Link } from "react-router-dom";
import { DetailCard } from "../../pageElements/DetailCard.js"; import { DetailCard } from "../../pageElements/DetailCard.js";
import Button from "../../pageElements/Button"; import Button from "../../pageElements/Button";
import CreateModal from "../Modals/CreateModal.js"; import CreateModal from "../Modals/CreateModal.js";
@@ -9,6 +9,7 @@ import { db } from "../../firebase";
import { useParams } from "react-router-dom"; import { useParams } from "react-router-dom";
import { AppContext } from "../../Hooks/useContext/appContext.js"; import { AppContext } from "../../Hooks/useContext/appContext.js";
import LoadingSpinner from "../../pageElements/LoadingSpinner"; import LoadingSpinner from "../../pageElements/LoadingSpinner";
import { ArrowLeft } from "react-bootstrap-icons";
import { import {
doc, doc,
getDoc, getDoc,
@@ -22,6 +23,7 @@ const CaseDetailsPage = () => {
const [subCase, setSubCase] = useState(null); const [subCase, setSubCase] = useState(null);
const navigate = useNavigate(); const navigate = useNavigate();
const [showUploadModal, setShowUploadModal] = useState(); const [showUploadModal, setShowUploadModal] = useState();
const [uploadType, setUploadType] = useState();
const [showCreateModal, setShowCreateModal] = useState(); const [showCreateModal, setShowCreateModal] = useState();
const [showConfirmModal, setShowConfirmModal] = useState(); const [showConfirmModal, setShowConfirmModal] = useState();
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
@@ -169,6 +171,7 @@ const CaseDetailsPage = () => {
const handleUploadDoc = () => { const handleUploadDoc = () => {
if (docsAllowed - docsGenerated > 0) { if (docsAllowed - docsGenerated > 0) {
setUploadType("discovery");
setShowUploadModal(true); setShowUploadModal(true);
} else { } else {
setShowConfirmModal(true); setShowConfirmModal(true);
@@ -186,8 +189,13 @@ const CaseDetailsPage = () => {
navigate(`/reqedit/${documentId}/interrogatories-out/${caseId}`); navigate(`/reqedit/${documentId}/interrogatories-out/${caseId}`);
}; };
const handleBack = () => { const handleUploadComplaint = () => {
navigate("/cases"); if (docsAllowed - docsGenerated > 0) {
setUploadType("complaint");
setShowUploadModal(true);
} else {
setShowConfirmModal(true);
}
}; };
const handleConfirmDocType = (docType) => { const handleConfirmDocType = (docType) => {
@@ -208,23 +216,33 @@ const CaseDetailsPage = () => {
return ( return (
<div className="details-button-container"> <div className="details-button-container">
<div className="details-butn-wrapper"> <div className="details-butn-wrapper">
<Button <div className="details-butn-sub-wrapper-r">
onClick={() => setShowCreateModal(true)} <Link className="view-all-link" to="/cases">
labelText="Edit Case" <span className="arrow-wrapper">
className="primary-button" <ArrowLeft size="20px" />
/> </span>
<span className="details-back-wrapper">Back</span>
</Link>
</div>
<div className="details-butn-sub-wrapper-l">
<Button
onClick={() => setShowCreateModal(true)}
labelText="Edit Case Details"
className="primary-button"
/>
</div>
</div> </div>
<div className="details-button-box"> <div className="details-complaint-button-box">
<Button <Button
className="secondary-button back-button" className="secondary-button back-button"
onClick={handleBack} onClick={handleUploadComplaint}
labelText="Back" labelText="Upload Complaint"
/> />
<div className="upload-button-box"> <div className="details-upload-button-box">
<Button <Button
className="p-2 mr-2 primary-button" className="p-2 mr-2 primary-button"
onClick={handleUploadDoc} onClick={handleUploadDoc}
labelText="Upload Document" labelText="Upload Discovery Request"
/> />
</div> </div>
</div> </div>
@@ -270,6 +288,7 @@ const CaseDetailsPage = () => {
handleConfirmDocType={handleConfirmDocType} handleConfirmDocType={handleConfirmDocType}
fbUserId={fbUserId} fbUserId={fbUserId}
clientPosition={subCase.clientPosition} clientPosition={subCase.clientPosition}
uploadType={uploadType}
/> />
) : null ) : null
) : null} ) : null}

View File

@@ -35,6 +35,7 @@ const UploadModal = (props) => {
setIsLoading, setIsLoading,
clientPosition, clientPosition,
fbUserId, fbUserId,
uploadType,
} = props; } = props;
const { caseId, caseNumber, jurisdiction, caption, captionTwo } = caseData; const { caseId, caseNumber, jurisdiction, caption, captionTwo } = caseData;
const [docTitle, setDocTitle] = useState(""); const [docTitle, setDocTitle] = useState("");
@@ -50,7 +51,9 @@ const UploadModal = (props) => {
const [docError, setShowDocError] = useState(""); const [docError, setShowDocError] = useState("");
const fileTypes = ["PDF"]; const fileTypes = ["PDF"];
const fileName = fileToParse ? fileToParse.name : undefined; const fileName = fileToParse ? fileToParse.name : undefined;
console.log("uploadType", uploadType);
const otherType =
uploadType === "complaint" ? "discovery request" : "complaint";
let docType; let docType;
const apiUrl = const apiUrl =
process.env.NODE_ENV === "development" process.env.NODE_ENV === "development"
@@ -250,19 +253,17 @@ const UploadModal = (props) => {
<ExclamationTriangle <ExclamationTriangle
style={{ style={{
color: "red", color: "red",
marginBottom: "4px", marginBottom: "6px",
marginRight: "8px", marginRight: "8px",
}} }}
/> />
NOTE: Selecting incorrect document type may result in errors. NOTE: YOU ARE UPLOADING A {uploadType.toUpperCase()}
<p className="upload-modal-header-text red indent"> <p className="upload-modal-header-text indent">
Clicking upload begins document creation. If you intended to upload a {otherType} - click "cancel", then
select {otherType}
</p> </p>
</span> </span>
</p> </p>
<p className="upload-modal-header-text red right">
Document credit will be debited from account.
</p>
</div> </div>
<Form> <Form>
<Row> <Row>

View File

@@ -61,6 +61,20 @@
margin-right: 1px; margin-right: 1px;
} }
.details-complaint-button-box {
display: flex;
flex-direction: row;
justify-content: flex-end;
margin-top: 8px;
margin-right: 1px;
}
.details-complaint-button-box > .back-button {
&:hover {
border: 2px solid #f27300;
}
}
.back-button-box { .back-button-box {
margin-right: 8px; margin-right: 8px;
} }
@@ -102,12 +116,44 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: flex-end; justify-content: flex-end;
padding-left: 16px;
}
.details-butn-wrapper > .primary-button {
margin-right: 5px;
} }
.upload-button-box { .upload-button-box {
margin-left: 8px; margin-left: 8px;
} }
.details-upload-button-box {
display: flex;
justify-content: flex-end;
width: 260px;
margin-left: 8px;
}
.details-upload-button-box > .primary-button {
width: 250px;
}
.details-upload-button-box {
&button {
width: 220px;
}
}
.details-butn-sub-wrapper-r {
width: 50%;
}
.details-butn-sub-wrapper-l {
display: flex;
justify-content: flex-end;
width: 50%;
padding-right: 5px;
}
.detail-text { .detail-text {
// //
} }
@@ -121,3 +167,15 @@
flex-direction: column; flex-direction: column;
flex-grow: 3; flex-grow: 3;
} }
.arrow-wrapper > svg {
margin-bottom: 4px !important;
margin-right: 4px !important;
margin-left: 5px;
}
.details-back-wrapper {
margin-left: 4px;
font-size: 1.04rem;
padding-top: 3px;
}

View File

@@ -30,6 +30,9 @@
&.indent { &.indent {
margin-left: 23px; margin-left: 23px;
} }
&.red {
color: red;
}
} }
.upload-header-bold { .upload-header-bold {