diff --git a/apps/web/src/app/[locale]/(marketing)/page.tsx b/apps/web/src/app/[locale]/(marketing)/page.tsx index df6a8de..bc752b0 100644 --- a/apps/web/src/app/[locale]/(marketing)/page.tsx +++ b/apps/web/src/app/[locale]/(marketing)/page.tsx @@ -3,6 +3,7 @@ import { Faq } from "~/modules/marketing/home/faq"; import { Hero } from "~/modules/marketing/home/hero"; import { HowItWorks } from "~/modules/marketing/home/how-it-works"; import { HowToRead } from "~/modules/marketing/home/how-to-read"; +import { Pricing } from "~/modules/marketing/home/pricing"; import { ReportPreview } from "~/modules/marketing/home/report-preview"; import { ReviewEvidence } from "~/modules/marketing/home/review-evidence"; import { Testimonials } from "~/modules/marketing/home/testimonials"; @@ -16,6 +17,7 @@ const HomePage = () => { + diff --git a/apps/web/src/modules/marketing/home/pricing.tsx b/apps/web/src/modules/marketing/home/pricing.tsx new file mode 100644 index 0000000..1098925 --- /dev/null +++ b/apps/web/src/modules/marketing/home/pricing.tsx @@ -0,0 +1,119 @@ +"use client"; + +import { useTranslation } from "@turbostarter/i18n"; +import { cn } from "@turbostarter/ui"; +import { buttonVariants } from "@turbostarter/ui-web/button"; + +import { pathsConfig } from "~/config/paths"; +import { TurboLink } from "~/modules/common/turbo-link"; +import { + Section, + SectionBadge, + SectionDescription, + SectionHeader, + SectionTitle, +} from "~/modules/marketing/layout/section"; + +const INCLUDED = [ + "pricing.includes.score", + "pricing.includes.domains", + "pricing.includes.themes", + "pricing.includes.issues", + "pricing.includes.actions", + "pricing.includes.trends", + "pricing.includes.evidence", +] as const; + +export const Pricing = () => { + const { t } = useTranslation("marketing"); + + return ( +
+ + {t("pricing.label")} + {t("pricing.title")} + {t("pricing.description")} + + + {/* Anchor comparison */} +

+ {t("pricing.anchor")} +

+ + {/* Pricing card */} +
+ {/* Launch badge */} +
+ + {t("pricing.launchBadge")} + +
+ +
+ {/* Price */} +
+
+ + €97 + + + €47 + +
+ + {t("pricing.oneTime")} + +
+ + {/* Divider */} +
+ + {/* What's included */} +
+

+ {t("pricing.includesTitle")} +

+
    + {INCLUDED.map((key) => ( +
  • + + + + + {t(key as any)} + +
  • + ))} +
+
+ + {/* CTA */} + + {t("pricing.cta")} + + + {/* Trust line */} +

+ {t("pricing.trust")} +

+
+
+
+ ); +}; diff --git a/apps/web/src/modules/marketing/layout/header/header.tsx b/apps/web/src/modules/marketing/layout/header/header.tsx index ec37619..a467573 100644 --- a/apps/web/src/modules/marketing/layout/header/header.tsx +++ b/apps/web/src/modules/marketing/layout/header/header.tsx @@ -18,8 +18,8 @@ const links = [ href: "/#how-it-works", }, { - label: "billing:pricing.label", - href: pathsConfig.marketing.pricing, + label: "marketing:pricing.navLabel", + href: "/#pricing", }, { label: "marketing:contact.label", diff --git a/packages/i18n/src/translations/en/marketing.json b/packages/i18n/src/translations/en/marketing.json index 4a6fed9..22bc8ee 100644 --- a/packages/i18n/src/translations/en/marketing.json +++ b/packages/i18n/src/translations/en/marketing.json @@ -181,6 +181,27 @@ "description": "Your reviews contain hidden patterns. Our AI highlights every positive, negative, and mixed mention — so you see exactly what customers are telling you between the lines.", "cta": "See what's hiding in your reviews" }, + "pricing": { + "navLabel": "Pricing", + "label": "Launch Offer", + "title": "One report. Everything you need.", + "description": "A complete Reputation Blueprint for your business — delivered in 24 hours.", + "anchor": "Marketing consultants charge €2,000+ for this analysis.", + "launchBadge": "First 100 reports — launch price", + "oneTime": "One-time purchase. No subscription.", + "includesTitle": "Your Blueprint includes:", + "includes": { + "score": "Reputation Score (0–100) with 5-pillar breakdown", + "domains": "6 experience domains scored and benchmarked", + "themes": "Theme matrix — every topic your customers mention", + "issues": "Critical issues ranked by impact on your rating", + "actions": "Prioritized action plan with effort/impact ratings", + "trends": "Rating trends and seasonal patterns over time", + "evidence": "Full review evidence with highlighted sentiment" + }, + "cta": "Get my Blueprint — €47", + "trust": "Secure payment. Report delivered to your email within 24h." + }, "features": { "label": "What You Get", "title": "Everything hidden in your reviews, revealed", diff --git a/packages/i18n/src/translations/es/marketing.json b/packages/i18n/src/translations/es/marketing.json index dee8a98..221ff70 100644 --- a/packages/i18n/src/translations/es/marketing.json +++ b/packages/i18n/src/translations/es/marketing.json @@ -181,6 +181,27 @@ "description": "Tus reseñas contienen patrones ocultos. Nuestra IA resalta cada mención positiva, negativa y mixta — para que veas exactamente lo que tus clientes te dicen entre líneas.", "cta": "Descubre qué esconden tus reseñas" }, + "pricing": { + "navLabel": "Precios", + "label": "Oferta de Lanzamiento", + "title": "Un informe. Todo lo que necesitas.", + "description": "Una Radiografía de Reputación completa para tu negocio — entregada en 24 horas.", + "anchor": "Los consultores de marketing cobran más de 2.000 € por este análisis.", + "launchBadge": "Primeros 100 informes — precio de lanzamiento", + "oneTime": "Pago único. Sin suscripción.", + "includesTitle": "Tu Radiografía incluye:", + "includes": { + "score": "Puntuación de Reputación (0–100) con desglose de 5 pilares", + "domains": "6 dominios de experiencia puntuados y comparados", + "themes": "Matriz de temas — cada tema que mencionan tus clientes", + "issues": "Problemas críticos ordenados por impacto en tu calificación", + "actions": "Plan de acción priorizado con niveles de esfuerzo/impacto", + "trends": "Tendencias de calificación y patrones estacionales", + "evidence": "Evidencia completa de reseñas con sentimiento destacado" + }, + "cta": "Obtener mi Radiografía — 47 €", + "trust": "Pago seguro. Informe entregado a tu email en 24h." + }, "features": { "label": "Lo Que Recibes", "title": "Todo lo que esconden tus reseñas, al descubierto",