fix: align landing page prices with backend, pass billing mode in URL to /pricing
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m50s
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m50s
This commit is contained in:
@@ -276,7 +276,8 @@ export default function PricingPage() {
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const planFromUrl = searchParams.get("plan");
|
||||
const [isYearly, setIsYearly] = useState(false);
|
||||
const billingFromUrl = searchParams.get("billing");
|
||||
const [isYearly, setIsYearly] = useState(billingFromUrl === "yearly");
|
||||
const [plans, setPlans] = useState<Plan[]>(STATIC_PLANS);
|
||||
const [credits, setCredits] = useState<CreditPackage[]>(STATIC_CREDITS);
|
||||
const [currentPlan, setCurrentPlan] = useState<string | null>(null);
|
||||
|
||||
@@ -328,8 +328,8 @@ const PricingSection = () => {
|
||||
|
||||
const plans = [
|
||||
{ name: t('landing.pricing.starter.name'), desc: t('landing.pricing.starter.desc'), monthlyPrice: 9, annualPrice: 7, features: [t('landing.pricing.starter.f1'), t('landing.pricing.starter.f2'), t('landing.pricing.starter.f3'), t('landing.pricing.starter.f4')], cta: t('landing.pricing.starter.cta'), popular: false },
|
||||
{ name: t('landing.pricing.pro.name'), desc: t('landing.pricing.pro.desc'), monthlyPrice: 25, annualPrice: 19, features: [t('landing.pricing.pro.f1'), t('landing.pricing.pro.f2'), t('landing.pricing.pro.f3'), t('landing.pricing.pro.f4'), t('landing.pricing.pro.f5'), t('landing.pricing.pro.f6')], cta: t('landing.pricing.pro.cta'), popular: true },
|
||||
{ name: t('landing.pricing.business.name'), desc: t('landing.pricing.business.desc'), monthlyPrice: 65, annualPrice: 49, features: [t('landing.pricing.business.f1'), t('landing.pricing.business.f2'), t('landing.pricing.business.f3'), t('landing.pricing.business.f4'), t('landing.pricing.business.f5'), t('landing.pricing.business.f6')], cta: t('landing.pricing.business.cta'), popular: false },
|
||||
{ name: t('landing.pricing.pro.name'), desc: t('landing.pricing.pro.desc'), monthlyPrice: 19, annualPrice: 15, features: [t('landing.pricing.pro.f1'), t('landing.pricing.pro.f2'), t('landing.pricing.pro.f3'), t('landing.pricing.pro.f4'), t('landing.pricing.pro.f5'), t('landing.pricing.pro.f6')], cta: t('landing.pricing.pro.cta'), popular: true },
|
||||
{ name: t('landing.pricing.business.name'), desc: t('landing.pricing.business.desc'), monthlyPrice: 49, annualPrice: 39, features: [t('landing.pricing.business.f1'), t('landing.pricing.business.f2'), t('landing.pricing.business.f3'), t('landing.pricing.business.f4'), t('landing.pricing.business.f5'), t('landing.pricing.business.f6')], cta: t('landing.pricing.business.cta'), popular: false },
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -372,7 +372,7 @@ const PricingSection = () => {
|
||||
</ul>
|
||||
|
||||
<Link
|
||||
href={p.popular ? "/auth/register" : `/pricing?plan=${p.name.toLowerCase()}`}
|
||||
href={p.popular ? "/auth/register" : `/pricing?plan=${p.name.toLowerCase()}${isAnnual ? '&billing=yearly' : ''}`}
|
||||
className={`w-full py-4 rounded-2xl text-xs font-bold uppercase tracking-widest transition-all leading-none text-center block ${p.popular ? 'bg-brand-dark dark:bg-brand-accent text-white dark:text-brand-dark shadow-xl' : 'bg-transparent text-brand-dark dark:text-white border border-black/10 dark:border-white/10 hover:bg-black/5 dark:hover:bg-white/5'}`}
|
||||
>
|
||||
{p.cta}
|
||||
|
||||
Reference in New Issue
Block a user