@@ -17,13 +17,18 @@ const CaseTypePage = () => {
|
||||
const { group } = appState;
|
||||
const appUserId = group ? group.appUserId : null;
|
||||
const [subCase, setSubCase] = useState();
|
||||
const [email, setEmail] = useState("");
|
||||
const [contactEmail, setContactEmail] = useState("");
|
||||
const [contactName, setContactName] = useState("");
|
||||
const [billingCode, setBillingCode] = useState("");
|
||||
const [leadAttorney, setLeadAttorney] = useState("");
|
||||
const [radioValue, setRadioValue] = useState();
|
||||
const [radioValue, setRadioValue] = useState("");
|
||||
const [selectedCaseTags, setSelectedCaseTags] = useState([]);
|
||||
const [isBusy, setIsBusy] = useState(false);
|
||||
|
||||
const [contactEmailError, setContactEmailError] = useState("");
|
||||
const [leadAttorneyError, setLeadAttorneyError] = useState("");
|
||||
const [caseTypeError, setCaseTypeError] = useState(false);
|
||||
const [clientPositionError, setClientPositionError] = useState();
|
||||
const typeaheadRef = useRef();
|
||||
|
||||
function getCase() {
|
||||
@@ -43,10 +48,20 @@ const CaseTypePage = () => {
|
||||
useEffect(getCase, [caseId, appUserId]);
|
||||
|
||||
const setSelectedTag = (item) => {
|
||||
console.log("item in setSelectedTag ---------------------->", item);
|
||||
if (selectedCaseTags.length < 5) {
|
||||
const temp = [...selectedCaseTags, item.tagName];
|
||||
setSelectedCaseTags(temp);
|
||||
console.log("selectedCaseTags", selectedCaseTags);
|
||||
}
|
||||
};
|
||||
|
||||
const handleTagClick = (arg) => {
|
||||
const temp = selectedCaseTags;
|
||||
const foo = temp.filter((tag) => {
|
||||
if (tag != arg) {
|
||||
return tag;
|
||||
}
|
||||
});
|
||||
setSelectedCaseTags(foo);
|
||||
};
|
||||
|
||||
const radioOptions = [
|
||||
@@ -55,30 +70,78 @@ const CaseTypePage = () => {
|
||||
];
|
||||
|
||||
const handleSetRadioValue = (e) => {
|
||||
console.log("e", e);
|
||||
setRadioValue(e.value);
|
||||
};
|
||||
|
||||
const handleSave = () => {
|
||||
console.log("handleSave");
|
||||
const validateEmail = (email) => {
|
||||
const result = /.+@.+\.[A-Za-z]+$/.test(email);
|
||||
return result;
|
||||
};
|
||||
|
||||
const validateInput = () => {
|
||||
const leadAttorneyValid = leadAttorney.length > 2;
|
||||
const contactEmailValid = validateEmail(contactEmail);
|
||||
const caseTypeValid = selectedCaseTags.length > 0;
|
||||
const clientPositionValid =
|
||||
radioValue === "Defendant" || radioValue === "Plaintiff";
|
||||
|
||||
const allValid =
|
||||
leadAttorneyValid &&
|
||||
contactEmailValid &&
|
||||
caseTypeValid &&
|
||||
clientPositionValid;
|
||||
|
||||
if (!leadAttorneyValid) {
|
||||
setLeadAttorneyError("Field cannot be left blank");
|
||||
}
|
||||
if (!contactEmailValid) {
|
||||
setContactEmailError("Field cannot be left blank");
|
||||
}
|
||||
if (!caseTypeValid) {
|
||||
setCaseTypeError("Field cannot be left blank");
|
||||
}
|
||||
if (!clientPositionValid) {
|
||||
setClientPositionError("You must make a selection");
|
||||
}
|
||||
|
||||
return allValid;
|
||||
};
|
||||
|
||||
async function saveCaseData() {
|
||||
if (isBusy) {
|
||||
return;
|
||||
}
|
||||
|
||||
const valid = validateInput();
|
||||
|
||||
if (valid) {
|
||||
const recordTags = [];
|
||||
selectedCaseTags.forEach((tag) => {
|
||||
parsedTags.forEach((item) => {
|
||||
if (item.tagName.toLowerCase() === tag.toLowerCase()) {
|
||||
recordTags.push(item);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const dataValues = {
|
||||
leadAttorney: leadAttorney,
|
||||
contactEmail: contactEmail,
|
||||
contactName: contactName,
|
||||
clientPosition: radioValue,
|
||||
caseTags: recordTags,
|
||||
};
|
||||
|
||||
setIsBusy(true);
|
||||
try {
|
||||
await updateDoc(doc(db, "cases", caseId), dataValues);
|
||||
setIsBusy(false);
|
||||
navigate(`/casedetails/${caseId}`);
|
||||
} catch (err) {
|
||||
console.log("Error updating case:", err);
|
||||
}
|
||||
|
||||
setIsBusy(false);
|
||||
navigate(`/dashboard`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
@@ -100,6 +163,13 @@ const CaseTypePage = () => {
|
||||
value={leadAttorney}
|
||||
onChange={(e) => setLeadAttorney(e.target.value)}
|
||||
></input>
|
||||
<div>
|
||||
{leadAttorneyError ? (
|
||||
<div className="casetype-error">{leadAttorneyError}</div>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="type-col">
|
||||
<input
|
||||
@@ -129,9 +199,14 @@ const CaseTypePage = () => {
|
||||
className="form-control"
|
||||
id="emailInput"
|
||||
placeholder="Contact Email"
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
value={contactEmail}
|
||||
onChange={(e) => setContactEmail(e.target.value)}
|
||||
></input>
|
||||
{contactEmailError ? (
|
||||
<div className="casetype-error">{contactEmailError}</div>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="type-row">
|
||||
@@ -143,7 +218,7 @@ const CaseTypePage = () => {
|
||||
options={parsedTags}
|
||||
minLength={1}
|
||||
ref={typeaheadRef}
|
||||
placeholder="Case Type - start typing to search"
|
||||
placeholder="Case Type - type to search, tab/click to select"
|
||||
onChange={(selected) => {
|
||||
let item = null;
|
||||
for (const currentItem of selected) {
|
||||
@@ -153,11 +228,19 @@ const CaseTypePage = () => {
|
||||
typeaheadRef.current.clear();
|
||||
}}
|
||||
/>
|
||||
{caseTypeError ? (
|
||||
<div className="casetype-error">{caseTypeError}</div>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
<div className="case-tag-container">
|
||||
{selectedCaseTags.map((tag, i) => (
|
||||
<div className="tag-container">
|
||||
<div className="tag-box">
|
||||
<div className="tag-ex-box">
|
||||
<div
|
||||
className="tag-ex-box"
|
||||
onClick={() => handleTagClick(tag)}
|
||||
>
|
||||
<div className="tag-ex">x</div>
|
||||
</div>
|
||||
<div className="casetag-name">{tag}</div>
|
||||
@@ -175,9 +258,15 @@ const CaseTypePage = () => {
|
||||
onClick={(e) => handleSetRadioValue(e, "clientPosition")}
|
||||
/>
|
||||
</div>
|
||||
{clientPositionError ? (
|
||||
<div className="casetype-error">{clientPositionError}</div>
|
||||
) : (
|
||||
<></>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="caseType-button-container">
|
||||
|
||||
<div className="casetype-button-container">
|
||||
<Button
|
||||
className="pt-2 pb-2 mr-2 primary-button"
|
||||
onClick={saveCaseData}
|
||||
|
||||
@@ -171,7 +171,7 @@ const DocumentListPage = ({ perPage }) => {
|
||||
if (!group) {
|
||||
return null;
|
||||
}
|
||||
console.log("allDocs", allDocs);
|
||||
|
||||
const DesktopContent = () => {
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -18,8 +18,6 @@ const ConfirmModal = ({
|
||||
setIssueText,
|
||||
reportDoc,
|
||||
}) => {
|
||||
console.log("isReport", isReport);
|
||||
|
||||
return (
|
||||
<Modal show="true" onHide={onCancel} size="lg">
|
||||
<Modal.Header closeButton>
|
||||
|
||||
@@ -126,7 +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;
|
||||
|
||||
@@ -3,9 +3,8 @@ import { AuthContext } from "../Context/AuthProvider";
|
||||
import { Navigate } from "react-router-dom";
|
||||
|
||||
const PrivateRoute = ({ children }) => {
|
||||
console.log("AuthContext", AuthContext);
|
||||
const { currentUserEmail } = useContext(AuthContext);
|
||||
console.log("currentUserEmail", currentUserEmail);
|
||||
|
||||
return currentUserEmail === null ? <Navigate to="/" /> : children;
|
||||
};
|
||||
|
||||
|
||||
@@ -287,7 +287,6 @@ const SignupPage = () => {
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
console.log("data in stripe auth call -------------++++++++++++++", data);
|
||||
//subscriptionId = response.subscriptionId;
|
||||
//customerId = response.customerId;
|
||||
|
||||
@@ -303,7 +302,6 @@ const SignupPage = () => {
|
||||
|
||||
const handleSignup = async (e) => {
|
||||
e.preventDefault();
|
||||
console.log("handleSignup");
|
||||
|
||||
const paymentDataValues = validatePaymentData();
|
||||
if (paymentDataValues === null) {
|
||||
@@ -323,7 +321,7 @@ const SignupPage = () => {
|
||||
paymentDataValues,
|
||||
dataValues
|
||||
);
|
||||
console.log("----------------------------->>>>>>>>>>>>>>>>>data", data);
|
||||
|
||||
const customerId = data.data.customerId;
|
||||
const subscriptionId = data.data.subscriptionId;
|
||||
|
||||
@@ -350,7 +348,7 @@ const SignupPage = () => {
|
||||
}
|
||||
} catch (error) {
|
||||
setIsBusy(false);
|
||||
console.log("-------->error", error);
|
||||
|
||||
setNotice(
|
||||
error.message || "Sorry, something went wrong. Please try again."
|
||||
);
|
||||
|
||||
@@ -694,13 +694,13 @@ export const caseTags = [
|
||||
},
|
||||
{
|
||||
tagId: "cbe77c35-edfb-4dde-8966-b4cc11603647",
|
||||
tagName: "family law - custoday",
|
||||
tagName: "family law - custody",
|
||||
mainType: {
|
||||
name: "family law",
|
||||
id: "8e591ed5-ca8e-4569-b1a8-c664dcd678c8",
|
||||
},
|
||||
subType: {
|
||||
name: "custoday",
|
||||
name: "custody",
|
||||
subTypeId: "4c3d7038-9e19-4f45-9921-a1c3d49d19b2",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -284,7 +284,7 @@ export const DocCard = (props) => {
|
||||
const pendingText =
|
||||
"Parsing in process, please be patient. This should resolve within 10 minutes.";
|
||||
const report = (documentId, docType) => {
|
||||
console.log("report documentId, docType", documentId, docType);
|
||||
//console.log("report documentId, docType", documentId, docType);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
@@ -14,7 +14,7 @@ const Radio = (props) => {
|
||||
details,
|
||||
isAnnual,
|
||||
} = props;
|
||||
console.log("isAnnual in radio", isAnnual);
|
||||
|
||||
const classCheckbox = "checkbox";
|
||||
const classOption = "option";
|
||||
const index = isAnnual === 1 ? Number("1") : Number("0");
|
||||
|
||||
@@ -15,7 +15,7 @@ const TextInput = (props) => {
|
||||
type,
|
||||
disabled,
|
||||
} = props;
|
||||
console.log("inputClassName", inputClassName);
|
||||
|
||||
return (
|
||||
<div
|
||||
className={
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
border: 1px solid red;
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
@@ -69,7 +68,9 @@
|
||||
padding: 0px 8px;
|
||||
}
|
||||
|
||||
.caseType-button-container {
|
||||
.casetype-button-container {
|
||||
margin-top: 20px;
|
||||
margin-right: 16px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-end;
|
||||
@@ -82,3 +83,11 @@
|
||||
border: 1px solid #eaeaea;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.casetype-error {
|
||||
font-size: 0.84rem;
|
||||
margin-top: 2px;
|
||||
margin-left: 2px;
|
||||
padding-left: 6px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user