scalesite/app/billing/page.tsx
bast1qn 98552163a8 Initial ScaleSite Next.js implementation
Complete frontend implementation with:
- Next.js 16 with App Router and TypeScript
- Tailwind CSS v4 with custom violet theme
- shadcn/ui components with Lucide React icons
- Landing page with hero, services, pricing, testimonials, FAQ
- Service selection page with toggle
- Login/Register pages with social auth UI
- Multi-step checkout flow
- Client dashboard with stats, projects, support tickets
- Billing page with subscription, payment methods, invoices
- All mock data and TypeScript types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-01 21:42:48 +01:00

35 lines
1.3 KiB
TypeScript

import { SubscriptionCard } from '@/components/billing/subscription-card'
import { PaymentMethodList } from '@/components/billing/payment-method-list'
import { InvoiceTable } from '@/components/billing/invoice-table'
import { mockSubscription, mockPaymentMethods, mockInvoices } from '@/lib/mock-data'
export default function BillingPage() {
return (
<div className="flex-1 w-full max-w-7xl mx-auto p-4 lg:p-8 flex flex-col gap-8">
{/* Header */}
<div className="flex flex-col gap-1">
<h1 className="text-3xl lg:text-4xl font-black tracking-tight text-foreground">
Billing & Invoices
</h1>
<p className="text-muted-foreground text-base font-medium">
Manage your subscription and payment methods
</p>
</div>
{/* Billing Content */}
<div className="grid grid-cols-1 xl:grid-cols-3 gap-8">
{/* Left Column - Subscription & Payment Methods */}
<div className="xl:col-span-1 flex flex-col gap-6">
<SubscriptionCard subscription={mockSubscription} />
<PaymentMethodList paymentMethods={mockPaymentMethods} />
</div>
{/* Right Column - Invoice History */}
<div className="xl:col-span-2">
<InvoiceTable invoices={mockInvoices} />
</div>
</div>
</div>
)
}