feat(website): reflect new features + 5-tier pricing
CI/CD / CI · API (dotnet build + test) (push) Successful in 50s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 45s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m4s
CI/CD / CI · Admin Web (tsc) (push) Successful in 36s
CI/CD / CI · Website (tsc) (push) Successful in 44s
CI/CD / CI · Koja (tsc) (push) Successful in 49s
CI/CD / Deploy · all services (push) Successful in 3m18s
CI/CD / CI · API (dotnet build + test) (push) Successful in 50s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 45s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m4s
CI/CD / CI · Admin Web (tsc) (push) Successful in 36s
CI/CD / CI · Website (tsc) (push) Successful in 44s
CI/CD / CI · Koja (tsc) (push) Successful in 49s
CI/CD / Deploy · all services (push) Successful in 3m18s
- Pricing: add the Starter tier (now Free·Starter·Pro·Business·Enterprise), fix currency ₺ (Turkish Lira) → Toman, and rewrite every plan's bullets to the agreed matrix (Free: 6 tables/30 orders/Koja/offline + watermark; Starter: watermark-removal/custom-styling/review-reply; Pro: CRM/reports/taxes/payroll/ delivery/3 branches; Business: 3D + AI-3D + unlimited; Enterprise: API/white-label/ SLA/24-7). 5-column responsive grid. - Features: add two headliner cards that were missing — "Works offline" and "Get discovered on Koja". fa/en. Website tsc + build clean.
This commit is contained in:
@@ -6,10 +6,14 @@ import {
|
||||
Users,
|
||||
Package,
|
||||
Building2,
|
||||
WifiOff,
|
||||
MapPin,
|
||||
} from "lucide-react";
|
||||
|
||||
const FEATURES = [
|
||||
{ icon: QrCode, key: "qrMenu", descKey: "qrMenuDesc", color: "bg-brand-50 text-brand-700" },
|
||||
{ icon: WifiOff, key: "offline", descKey: "offlineDesc", color: "bg-emerald-50 text-emerald-700" },
|
||||
{ icon: MapPin, key: "koja", descKey: "kojaDesc", color: "bg-sky-50 text-sky-700" },
|
||||
{ icon: ShoppingCart, key: "pos", descKey: "posDesc", color: "bg-amber-50 text-amber-700" },
|
||||
{ icon: BarChart3, key: "analytics", descKey: "analyticsDesc", color: "bg-blue-50 text-blue-700" },
|
||||
{ icon: Users, key: "staff", descKey: "staffDesc", color: "bg-purple-50 text-purple-700" },
|
||||
|
||||
@@ -39,11 +39,25 @@ export function PricingSection() {
|
||||
popular: false,
|
||||
variant: "outline",
|
||||
},
|
||||
{
|
||||
id: "starter",
|
||||
name: t("starterName"),
|
||||
price: yearly
|
||||
? (locale === "fa" ? "۵۷۵٬۰۰۰ تومان" : "575,000 Toman")
|
||||
: t("starterPrice"),
|
||||
priceNote: t("starterPriceNote"),
|
||||
desc: t("starterDesc"),
|
||||
cta: t("ctaStarter"),
|
||||
href: `${base}/demo`,
|
||||
features: [t("s1"), t("s2"), t("s3"), t("s4"), t("s5")],
|
||||
popular: false,
|
||||
variant: "outline",
|
||||
},
|
||||
{
|
||||
id: "pro",
|
||||
name: t("proName"),
|
||||
price: yearly
|
||||
? (locale === "fa" ? "۱٬۲۴۲٬۰۰۰" : "₺1,242,000")
|
||||
? (locale === "fa" ? "۱٬۲۴۲٬۰۰۰ تومان" : "1,242,000 Toman")
|
||||
: t("proPrice"),
|
||||
priceNote: t("proPriceNote"),
|
||||
desc: t("proDesc"),
|
||||
@@ -57,7 +71,7 @@ export function PricingSection() {
|
||||
id: "business",
|
||||
name: t("businessName"),
|
||||
price: yearly
|
||||
? (locale === "fa" ? "۲٬۹۰۸٬۰۰۰" : "₺2,908,000")
|
||||
? (locale === "fa" ? "۲٬۹۰۸٬۰۰۰ تومان" : "2,908,000 Toman")
|
||||
: t("businessPrice"),
|
||||
priceNote: t("businessPriceNote"),
|
||||
desc: t("businessDesc"),
|
||||
@@ -120,8 +134,8 @@ export function PricingSection() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Plan cards — 4-column grid on xl, 2-col on md, 1-col on mobile */}
|
||||
<div className="mt-12 grid gap-5 sm:grid-cols-2 xl:grid-cols-4">
|
||||
{/* Plan cards — 5 tiers: 5-col on xl, 3-col on lg, 2-col on md, 1-col on mobile */}
|
||||
<div className="mt-12 grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5">
|
||||
{plans.map((plan) => (
|
||||
<PlanCard key={plan.id} plan={plan} t={t} />
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user