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; const [docsGenerated, setDocsGenerated] = useState(null); const appUserId = group ? group.appUserId : null; const [showModal, setShowModal] = useState(false); const subscriptionPlan = group?.subscriptionPlan[0].label; const apiUrl = process.env.NODE_ENV === "development" ? process.env.REACT_APP_API_DEV : process.env.REACT_APP_API_PROD; const docsAllowed = group?.docsAllowedPerMonth; 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 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}`); }; if (!group) { return null; } return (
{/*
Personal Settings
Payment Settings
Membership Settings
Order History
*/}
{docsGenerated !== null ? (
You have generated {docsGenerated} out of {docsAllowed} 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
{`${subscriptionPlan?.toUpperCase()} PLAN`}
{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;