feat(story-3.6): complete Stripe subscription tiers — enterprise card, build fix, i18n
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 4s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 4s
Story 3.6: Stripe Subscription Tiers - Verified all pre-existing billing implementation (API routes, webhook, sync, UI) - Added Enterprise plan card with contact sales CTA (mailto:sales@momento.app) - Fixed lib/stripe.ts build error (lazy getStripe() + placeholder default) - Added enterpriseFeature1-5 i18n keys to all 15 locales - 22/22 unit tests pass, build succeeds - Story status: ready-for-dev → review
This commit is contained in:
@@ -204,6 +204,26 @@ export function BillingPlans() {
|
||||
: 'bg-ink text-white shadow-xl shadow-ink/20 hover:scale-[1.02] active:scale-95',
|
||||
onClick: () => handleCheckout('BUSINESS'),
|
||||
},
|
||||
{
|
||||
id: 'enterprise',
|
||||
name: t('billing.enterpriseTitle') || 'Enterprise',
|
||||
price: t('billing.contactSales') || 'Sur devis',
|
||||
period: '',
|
||||
description: t('billing.enterpriseDescription') || 'Quotas personnalisés, SSO, support prioritaire.',
|
||||
features: [
|
||||
t('billing.enterpriseFeature1') || 'Quotas illimités',
|
||||
t('billing.enterpriseFeature2') || 'SSO / SAML',
|
||||
t('billing.enterpriseFeature3') || 'Support dédié',
|
||||
t('billing.enterpriseFeature4') || 'Facturation personnalisée',
|
||||
t('billing.enterpriseFeature5') || 'SLA garanti',
|
||||
],
|
||||
current: effectiveTier === 'ENTERPRISE',
|
||||
buttonText: effectiveTier === 'ENTERPRISE' ? (t('billing.currentPlan') || 'Plan Actuel') : (t('billing.contactSales') || 'Contact Sales'),
|
||||
buttonClass: effectiveTier === 'ENTERPRISE'
|
||||
? 'bg-paper text-concrete cursor-default'
|
||||
: 'bg-ink text-white shadow-xl shadow-ink/20 hover:scale-[1.02] active:scale-95',
|
||||
onClick: () => { window.location.href = 'mailto:sales@momento.app'; },
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -362,7 +382,7 @@ export function BillingPlans() {
|
||||
|
||||
{/* Plan Cards */}
|
||||
{(billingEnabled || true) && (
|
||||
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-4 gap-6">
|
||||
{plans.map((plan) => (
|
||||
<div
|
||||
key={plan.id}
|
||||
|
||||
Reference in New Issue
Block a user