feat: whyrating brand identity + landing page content

Replace boilerplate branding with WhyRating visual identity:
- Inter + Nunito fonts, blue theme, light mode
- Inline SVG logo component (whyrating.com wordmark)
- Swap logos in header, footer, auth layout
- Generate favicon/icons from brand SVG
- Full landing page: hero, how-it-works, features, testimonials, FAQ
- EN/ES translations for all sections
- Report fan (abanico) component with 3 PDF page previews

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-02-21 19:48:21 +00:00
parent 5cdc07cd39
commit a5aceec46a
23 changed files with 596 additions and 2159 deletions

View File

@@ -1,7 +1,5 @@
import { getTranslation } from "@turbostarter/i18n/server";
import { Icons } from "@turbostarter/ui-web/icons";
import { pathsConfig } from "~/config/paths";
import { WhyRatingLogo } from "~/modules/common/whyrating-logo";
import { TurboLink } from "~/modules/common/turbo-link";
export default async function AuthLayout({
@@ -9,8 +7,6 @@ export default async function AuthLayout({
}: {
children: React.ReactNode;
}) {
const { t } = await getTranslation({ ns: "common" });
return (
<main className="grid h-full w-full flex-1 lg:grid-cols-2">
<section className="flex h-full flex-col items-center justify-center p-6 lg:p-10">
@@ -18,10 +14,9 @@ export default async function AuthLayout({
<TurboLink
href={pathsConfig.index}
className="flex shrink-0 items-center gap-3"
aria-label={t("home")}
aria-label="whyrating.com"
>
<Icons.Logo className="text-primary h-8" />
<Icons.LogoText className="text-foreground h-4" />
<WhyRatingLogo />
</TurboLink>
</header>
<div className="mt-16 mb-auto flex w-full max-w-md flex-col gap-6 pb-16">