import { useState, useContext, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { db } from "../../firebase"; import { collection, onSnapshot, query, where } from "firebase/firestore"; 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(); const { currentUserCreatedAt } = useContext(AuthContext); const { appState } = useContext(AppContext); const { group } = appState; console.log("group", group); const [docsGenerated, setDocsGenerated] = useState(null); const [docsAllowed, setDocsAllowed] = useState(group?.docsAllowed); const appUserId = group ? group.appUserId : null; const [showModal, setShowModal] = useState(false); const apiUrl = process.env.NODE_ENV === "development" ? process.env.REACT_APP_API_DEV : process.env.REACT_APP_API_PROD; const handleConfirmUpgrade = () => { const isUpgrade = true; const currentPlan = group?.subscriptionPlan; navigate(`/signup/${isUpgrade}/${currentPlan}`); }; function getDocumentsCount() { if (!appUserId) { return; } return onSnapshot( query(collection(db, "documents"), where("ownerId", "==", appUserId)), (snapshot) => setDocsGenerated(snapshot.docs.length) ); } useEffect(getDocumentsCount, [appUserId]); const telNumberFormat = (num) => { return `(${num.slice(0, 3)}) ${num.slice(4, 7)}-${num.slice(6, 10)}`; }; if (!group) { return null; } const handleCancelSub = async () => { setShowModal(true); try { let response = await fetch(`${apiUrl}/cancel-subscription`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ appUserId: appUserId, }), }); } catch (err) { console.log(err); } setShowModal(false); }; const handleSupport = () => { const supReq = "5ac45d12"; navigate(`/requestpage/${supReq}`); }; return (
{/*
Personal Settings
Payment Settings
Membership Settings
Order History
*/}
{docsGenerated !== null ? (
You have generated {docsGenerated} out of {docsAllowed} response documents this billing period
Upgrade to get more
) : null} {/*
Take full advantage of the features included in your account
Give the gift of Novodraft
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Give the gift of Novodraft
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Give the gift of Novodraft
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Give the gift of Novodraft
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
*/}
Need Support?
{/*
1-222-333-4444
*/}
support@novodraft.ai
Or use our contact form
FAQ
Support
Billing
Privacy
Active Subscriptions
{group.subscriptionPlan.toUpperCase()}
{typeof currentUserCreatedAt !== "undefined" ? (
Activated:
{currentUserCreatedAt.toLocaleDateString("en-US")}
) : null}
{group.firstName} {group.lastName}
{group.firm}
{group.email}
{group.telephone}
{showModal ? ( setShowModal(false)} onConfirm={handleCancelSub} buttonLabelText="Confirm Cancel" modalText="Are you sure? Your subscription will end at the conclusion of the current billing period." /> ) : null}
); }; export default AccountPage;