perf: memo GridCard, fuse save fns, fix slash tab active color
This commit is contained in:
@@ -22,6 +22,16 @@ interface BillingStatus {
|
||||
currentPeriodEnd: string | null;
|
||||
cancelAtPeriodEnd: boolean;
|
||||
hasStripeSubscription: boolean;
|
||||
prices?: {
|
||||
PRO: {
|
||||
month: { display: string; amount: number; currency: string };
|
||||
year: { display: string; amount: number; currency: string };
|
||||
};
|
||||
BUSINESS: {
|
||||
month: { display: string; amount: number; currency: string };
|
||||
year: { display: string; amount: number; currency: string };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
const billingEnabled = process.env.NEXT_PUBLIC_FEATURE_BILLING_ENABLED === 'true' || process.env.NODE_ENV === 'development';
|
||||
@@ -214,7 +224,8 @@ export function BillingPlans() {
|
||||
{
|
||||
id: 'pro',
|
||||
name: t('billing.proPlan'),
|
||||
price: interval === 'month' ? (t('billing.proPrice') || '9,90€') : (t('billing.proAnnualPrice') || '99€'),
|
||||
price: status?.prices?.PRO?.[interval]?.display ??
|
||||
(interval === 'month' ? (t('billing.proPrice') || '9,90€') : (t('billing.proAnnualPrice') || '99€')),
|
||||
period: interval === 'month' ? '/mois' : '/an',
|
||||
description: t('billing.proDescription') || 'Pour les consultants et créateurs exigeants.',
|
||||
features: [
|
||||
@@ -236,7 +247,8 @@ export function BillingPlans() {
|
||||
{
|
||||
id: 'business',
|
||||
name: t('billing.businessPlan'),
|
||||
price: interval === 'month' ? (t('billing.businessPrice') || '29,90€') : (t('billing.businessAnnualPrice') || '299€'),
|
||||
price: status?.prices?.BUSINESS?.[interval]?.display ??
|
||||
(interval === 'month' ? (t('billing.businessPrice') || '29,90€') : (t('billing.businessAnnualPrice') || '299€')),
|
||||
period: interval === 'month' ? '/mois' : '/an',
|
||||
description: t('billing.businessDescription') || 'Pour les équipes et chefs de produit.',
|
||||
features: [
|
||||
|
||||
Reference in New Issue
Block a user