import { useBillingPlans, useBillingQuery, } from "@/ee/billing/queries/billing-query.ts"; import { Group, Text, SimpleGrid, Paper } from "@mantine/core"; import classes from "./billing.module.css"; import { format } from "date-fns"; import { formatInterval } from "@/ee/billing/utils.ts"; export default function BillingDetails() { const { data: billing } = useBillingQuery(); const { data: plans } = useBillingPlans(); if (!billing || !plans) { return null; } return (
Plan { plans.find( (plan) => plan.productId === billing.stripeProductId, )?.name }
Billing Period {formatInterval(billing.interval)}
{billing.cancelAtPeriodEnd ? "Cancellation date" : "Renewal date"} {format(billing.periodEndAt, "dd MMM, yyyy")}
Seat count {billing.quantity}
Total {(billing.amount / 100) * billing.quantity}{" "} {billing.currency.toUpperCase()} ${billing.amount / 100} /user/{billing.interval}
); }