rubis/apps/landing/src/components/SiteHeader.tsx
ordinarthur cecbddc496
All checks were successful
Build & Deploy Landing / build-and-deploy (push) Successful in 1m1s
refactor(landing): mono-langue FR + quick wins optimisations conversion
- Retire le système i18n EN (apps/landing/src/i18n/, pages /en/*) ajouté
  en 4f3417f. Source unique de copy dans src/copy.ts (FR uniquement).
  Switcher de langue retiré du header, sitemap nettoyé des hreflang.
- Header : micro-baseline « Logiciel de relance de factures impayées »
  sous le wordmark pour lever l'ambiguïté du nom (§1).
- CTA principal : « Lancer Rubis » → « Démarrer mon essai 14 jours »
  avec sous-texte sur Hero / FinalCTA / Pricing (§5).
- Essai 30 j → 14 j sur landing + CGV §6.2 (§3).
- Blog promu en nav primaire avec label « Ressources » (§6).

Doc d'arbitrage : docs/tech/landing-optimisations.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 09:46:42 +02:00

58 lines
1.8 KiB
TypeScript

import { Brand, Button, cn } from "@rubis/ui";
import { copy } from "../copy";
const APP_URL = "https://app.rubis.pro";
type SiteHeaderProps = {
/** Si true, fond opaque + bordure (utile sur les pages blog où on n'a pas de hero). Sinon transparent + sticky-blur. */
solid?: boolean;
className?: string;
};
/**
* Header public commun à toutes les pages rubis.pro/*.
*/
export function SiteHeader({ solid = false, className }: SiteHeaderProps) {
return (
<header
className={cn(
"sticky top-0 z-40 w-full",
solid
? "border-b border-line bg-cream/92 backdrop-blur-md"
: "bg-cream/80 backdrop-blur-md",
className,
)}
>
<div className="max-w-[1180px] mx-auto px-5 sm:px-8 h-[68px] flex items-center justify-between gap-6">
<a href="/" className="flex items-center gap-3 hover:no-underline">
<Brand withSuffix gemSize={26} />
<span
className="hidden md:inline-block text-[12px] leading-tight text-ink-3 border-l border-line pl-3 max-w-[180px]"
aria-hidden
>
{copy.nav.baseline}
</span>
</a>
<nav className="flex items-center gap-1.5 sm:gap-3">
<a
href="/#pricing"
className="hidden sm:inline-flex h-10 items-center px-3 text-[14px] font-medium text-ink-2 hover:text-rubis transition-colors"
>
{copy.nav.pricing}
</a>
<a
href="/blog"
className="hidden sm:inline-flex h-10 items-center px-3 text-[14px] font-medium text-ink-2 hover:text-rubis transition-colors"
>
{copy.nav.blog}
</a>
<Button asChild size="sm">
<a href={APP_URL}>{copy.nav.cta}</a>
</Button>
</nav>
</div>
</header>
);
}