Merge branch 'main' of github.com:kjannette/ax3Client into jdurante-1-stripe-paywall
This commit is contained in:
@@ -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>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user