Merge branch 'main' of github.com:kjannette/ax3Client into jdurante-1-stripe-paywall

This commit is contained in:
Jacob
2024-01-23 14:43:58 -05:00
14 changed files with 168 additions and 86 deletions

View File

@@ -6,6 +6,7 @@ import Button from "../../pageElements/Button";
import { AppContext } from "../../Hooks/useContext/appContext";
import { AuthContext } from "../../Context/AuthProvider";
import ProgressBar from "../../pageElements/ProgressBar";
import ConfirmModal from "../Modals/ConfirmModal";
const AccountPage = () => {
const navigate = useNavigate();
@@ -15,7 +16,7 @@ const AccountPage = () => {
const [docsGenerated, setDocsGenerated] = useState(null);
const [docsAllowed, setDocsAllowed] = useState(10);
const appUserId = group ? group.appUserId : null;
const [showModal, setShowModal] = useState(false);
function getDocumentsCount() {
if (!appUserId) {
return;
@@ -36,6 +37,15 @@ const AccountPage = () => {
return null;
}
const handleCancelSub = () => {
setShowModal(true);
try {
//API call(s)
} catch (err) {
console.log(err);
}
setShowModal(false);
};
const handleSupport = () => {
const supReq = "5ac45d12";
navigate(`/requestpage/${supReq}`);
@@ -178,7 +188,11 @@ const AccountPage = () => {
</div>
) : null}
<div className="account-subscriptions-actions">
<Button className="primary-button" labelText="Cancel Account" />
<Button
className="primary-button cancel-sub-button"
labelText="Cancel Subscription"
onClick={() => setShowModal(true)}
/>
</div>
</div>
</div>
@@ -194,6 +208,14 @@ const AccountPage = () => {
<div>{telNumberFormat(group.telephone)}</div>
</div>
</div>
{showModal ? (
<ConfirmModal
onCancel={() => setShowModal(false)}
onConfirm={handleCancelSub}
buttonLabelText="Confirm Cancel"
modalText="Are you sure? Your subscription will end at the conclusion of the current billing period."
/>
) : null}
</div>
);
};

View File

@@ -584,7 +584,7 @@ const DocEditPage = () => {
const editingContent = () => {
return (
<>
{headerPicker()}
<div> {headerPicker()}</div>
<div className="doc-editing-wrapper">
<div className="pleading-header">{headerString}</div>
<div>

View File

@@ -171,7 +171,7 @@ const DocumentListPage = ({ perPage }) => {
if (!group) {
return null;
}
console.log("allDocs", allDocs);
const DesktopContent = () => {
return (
<>
@@ -204,6 +204,7 @@ const DocumentListPage = ({ perPage }) => {
parentCaseNumber={doc.parentCaseNumber}
parentCaseName={doc.parentCaseName}
parentCaseId={doc.parentCaseId}
createdAt={doc.createdAt}
docType={doc.docType}
documentId={doc.documentId}
dateServed={doc.dateServed}

View File

@@ -12,7 +12,11 @@ const NewYorkCaption = (props) => {
<div className="docedit-uppercol2">
<span>{fetchedCase?.jurisdiction}</span>
<span>{fetchedCase?.venue}</span>
<div className="docedit-uppercol-divider"></div>
<div className="pleading-divider-box">
<div>
-----------------------------------------------------------------------X
</div>
</div>
</div>
<div className="docedit-uppercol3"></div>
</div>
@@ -44,7 +48,11 @@ const NewYorkCaption = (props) => {
<div className="content-spacer2"></div>
<div>Defendant(s)</div>
</div>
<div className="docedit-uppercol-divider"></div>
<div className="pleading-divider-box">
<div>
----------------------------------------------------------------------------X
</div>
</div>
</div>
<div className="docedit-header-col3">
<div className="scroll-button-box">

View File

@@ -11,6 +11,7 @@ import { collection, setDoc, updateDoc, doc } from "firebase/firestore";
import { AppContext } from "../../Hooks/useContext/appContext.js";
import { db } from "../../firebase";
import { objectMap } from "../../Utils/Object";
import { createCaseFields as fields } from "../../Constants/Fields/CreateCaseFields.js";
import "../../styles/modals.scss";
import {
getFormDataDefaults,
@@ -28,29 +29,10 @@ const CreateModal = ({ setShowModal, caseData }) => {
const appUserId = group.appUserId;
const editCaseId = caseData?.id;
const isEditing = typeof editCaseId !== "undefined";
const fields = {
caption: { required: true, maxLength: 45 },
captionTwo: { required: true, maxLength: 45 },
caseNumber: { required: true, maxLength: 45 },
judge: { required: true, maxLength: 45 },
plaintiffParties: { required: true, maxLength: 45 },
defendantParties: { required: true, maxLength: 45 },
jurisdiction: { required: true, maxLength: 45 },
billingCode: { required: true, maxLength: 45 },
venue: { required: true, maxLength: 45 },
caseType: { required: true, maxLength: 45 },
trialDate: { required: true, maxLength: 45, type: "date" },
filedDate: { required: true, maxLength: 45, type: "date" },
contactFirstName: { required: true, maxLength: 45 },
contactLastName: { required: true, maxLength: 45 },
contactEmail: { required: true, maxLength: 45, type: "email" },
leadAttorneys: { required: true, maxLength: 45 },
lawFirm: { required: false, maxLength: 45 },
clientPosition: { required: true, default: "Defendant" },
};
const [isBusy, setIsBusy] = useState(false);
const [newCaseId, setNewCaseId] = useState();
const caseNumCopy =
group.state == "New York" ? "Index Number" : "Case Number";
const [data, setData] = useState(
getFormDataDefaults(fields, isEditing ? caseData : undefined)
);
@@ -69,10 +51,8 @@ const CreateModal = ({ setShowModal, caseData }) => {
return hasErrors ? null : objectMap(({ value }) => value, newData);
};
async function saveCaseData() {
const dataValues = validateData();
if (dataValues === null) {
async function saveCaseData(dataValues) {
if (isBusy) {
return;
}
setIsBusy(true);
@@ -95,6 +75,7 @@ const CreateModal = ({ setShowModal, caseData }) => {
const casesRef = collection(db, "cases");
await setDoc(doc(casesRef, `${caseId}`), caseData);
setShowModal(false);
return caseId;
} catch (err) {
console.log("Error creating case:", err);
}
@@ -110,11 +91,26 @@ const CreateModal = ({ setShowModal, caseData }) => {
}
};
const handleCreate = () => {
if (!isBusy) {
void saveCaseData();
const handleCreateCaseNavigation = (caseId) => {
// console.log("caseId in handleCreateCaseNavigation", caseId);
};
const handleCreateCase = (e) => {
e.preventDefault();
const dataValues = validateData();
let caseId;
if (dataValues === null) {
return;
} else {
try {
saveCaseData(dataValues).then((res) => {
const caseId = res;
navigate(`/casedetails/${caseId}`);
});
} catch (err) {
console.log(err);
}
}
navigate("/dashboard");
};
const radioOptions = [
@@ -180,7 +176,7 @@ const CreateModal = ({ setShowModal, caseData }) => {
<Row>
<Col className="mb-3">
{isEditing ? (
<div className="edit-modal-label">Index number</div>
<div className="edit-modal-label">{caseNumCopy}</div>
) : (
<></>
)}
@@ -548,7 +544,7 @@ const CreateModal = ({ setShowModal, caseData }) => {
<Button
className="primary-button"
disabled={isBusy}
onClick={handleCreate}
onClick={handleCreateCase}
labelText="Save Case"
/>
</Modal.Footer>

View File

@@ -42,8 +42,10 @@ const UploadModal = (props) => {
: process.env.REACT_APP_API_PROD;
async function saveToDb(uuidName) {
const createdAt = new Date();
const data = {
ownerId: appUserId,
createdAt: createdAt,
documentName: `${uuidName}.pdf`,
docDescription: docDescription,
dateServed: dateServed,
@@ -124,6 +126,7 @@ const UploadModal = (props) => {
try {
const response = await processFile();
console.log("response in upload modal", response);
if (response.res?.status !== 200) {
saveToDb(response.uuidName);
return;

View File

@@ -262,7 +262,6 @@ const SignupPage = () => {
<Row key={`row${j}`}>
{names.map((name, i) => (
<Col key={`${name}${i + fieldsChunkSize * j}`} className="mb-3">
{console.log("data, name", data, name)}
<TextInput
name={name}
value={data[name].value}