Initial CMPP frontend prototype

This commit is contained in:
hectorzhao
2026-06-30 16:09:46 +08:00
commit 2f3c274a30
98 changed files with 25255 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
import { CreditCard } from 'lucide-react';
import { Button, Tag } from '@/components/ui';
import { clientService } from '@/mock';
export function ClientBillingPage() {
const plans = clientService.getBillingPlans();
return (
<section className="page-stack">
<div className="page-heading">
<div>
<p className="eyebrow"></p>
<h1></h1>
</div>
</div>
<div className="surface">
<div className="plan-grid">
{plans.map((plan) => (
<article className={['plan-card', plan.highlight ? 'plan-card--highlight' : ''].filter(Boolean).join(' ')} key={plan.id}>
<div className="section-heading">
<h2>{plan.name}</h2>
{plan.highlight ? <Tag tone="accent"></Tag> : null}
</div>
<strong>{plan.messages.toLocaleString('zh-CN')} </strong>
<p className="muted"></p>
<Button icon={<CreditCard size={16} />} variant={plan.highlight ? 'primary' : 'ghost'}>
¥{plan.price.toLocaleString('zh-CN')}
</Button>
</article>
))}
</div>
</div>
</section>
);
}