import type { Metadata } from "next" import { CalendarIcon, DollarSign, Users } from "lucide-react" import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card" import { ManageSubscriptionButton } from "./manageSubscriptionButton" import { getSubscriptionData, getCurrentUserRole, getSubscriptionBillingEmail } from "@/actions" import { isServiceError } from "@/lib/utils" import { ChangeBillingEmailCard } from "./changeBillingEmailCard" export const metadata: Metadata = { title: "Billing | Settings", description: "Manage your subscription and billing information", } interface BillingPageProps { params: { domain: string } } export default async function BillingPage({ params: { domain }, }: BillingPageProps) { const subscription = await getSubscriptionData(domain) if (isServiceError(subscription)) { return
Manage your subscription and billing information
Seats
{subscription.seats} active users
{subscription.status === "trialing" ? "Trial End Date" : "Next Billing Date"}
{new Date(subscription.nextBillingDate * 1000).toLocaleDateString()}
Billing Amount
${(subscription.perSeatPrice * subscription.seats).toFixed(2)} per month