5bf472b735
- Move every route under app/[lang]; a proxy keeps English on unprefixed URLs and serves /es and /ar - Interface strings and homepage copy per locale; content pages load a translated JSON when one exists - Language switch in the header, hreflang alternates and a multilingual sitemap - Right-to-left layout for Arabic with logical CSS properties, Noto Sans Arabic and no letter-spacing - Self-hosted proof-of-work "I'm not a robot" check (no third-party account) replaces Turnstile - The message field is optional; failed attempts refill the form instead of clearing it
23 lines
713 B
TypeScript
23 lines
713 B
TypeScript
import Link from "next/link";
|
|
import Image from "next/image";
|
|
|
|
export default function Logo({ href, label }: { href: string; label: string }) {
|
|
return (
|
|
<Link href={href} className="logo" aria-label={label}>
|
|
<Image className="logo-mark" src="/logo-mark.png" alt="" width={229} height={192} priority />
|
|
<span className="logo-type">
|
|
<b>AI GROWTH</b>
|
|
<span>TECHNOLOGIES</span>
|
|
</span>
|
|
</Link>
|
|
);
|
|
}
|
|
|
|
export function LogoStacked({ href, label }: { href: string; label: string }) {
|
|
return (
|
|
<Link href={href} className="logo-stacked" aria-label={label}>
|
|
<Image src="/logo-stacked.png" alt="AI Growth Technologies" width={480} height={547} />
|
|
</Link>
|
|
);
|
|
}
|