All checks were successful
Build & Deploy Landing / build-and-deploy (push) Successful in 1m1s
- 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>
58 lines
1.8 KiB
TypeScript
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>
|
|
);
|
|
}
|