diff --git a/apps/web/components/billing-plans.tsx b/apps/web/components/billing-plans.tsx new file mode 100644 index 000000000..ec3c23ef4 --- /dev/null +++ b/apps/web/components/billing-plans.tsx @@ -0,0 +1,72 @@ +import { useMemo, useState } from "react"; +import { classNames } from "@documenso/lib"; +import { STRIPE_PLANS, fetchCheckoutSession, useSubscription } from "@documenso/lib/stripe"; +import { Button } from "@documenso/ui"; +import { Switch } from "@headlessui/react"; + +export const BillingPlans = () => { + const { subscription, hasSubscription, isLoading } = useSubscription(); + const [isAnnual, setIsAnnual] = useState(true); + + return ( +
+ ${(isAnnual ? plan.prices.yearly.price : plan.prices.monthly.price).toFixed(2)}{" "} + {isAnnual ? "/yr" : "/mo"} +
+ ++ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Corrupti voluptates delectus + doloremque hic vel! +
+ ++ Subscriptions are not enabled on this instance, you have nothing to do here. +
+ )} + + {isSubscriptionsEnabled() && <>- Your subscription is currently {user?.subscription ? 'Active' : 'Inactive'}. + Your subscription is currently{" "} + {subscription?.status && subscription?.status !== SubscriptionStatus.INACTIVE ? "Active" : "Inactive"}.
+ {subscription?.status === SubscriptionStatus.PAST_DUE && ( ++ Your subscription is past due. Please update your payment details to continue + using the service without interruption. +
+ )} +- We use Stripe to process payments. Your card details are never stored on our - servers. + Lorem ipsum dolor sit amet consectetur adipisicing elit. Est consectetur magnam + illo aperiam expedita porro eos eum nam sapiente.
-