Serve the site in English, Spanish and Arabic, add a captcha, make the message optional
- 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
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
import Link from "next/link";
|
||||
import Image from "next/image";
|
||||
|
||||
export default function Logo() {
|
||||
export default function Logo({ href, label }: { href: string; label: string }) {
|
||||
return (
|
||||
<Link href="/" className="logo" aria-label="AI Growth Technologies — home">
|
||||
<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>
|
||||
@@ -13,9 +13,9 @@ export default function Logo() {
|
||||
);
|
||||
}
|
||||
|
||||
export function LogoStacked() {
|
||||
export function LogoStacked({ href, label }: { href: string; label: string }) {
|
||||
return (
|
||||
<Link href="/" className="logo-stacked" aria-label="AI Growth Technologies — home">
|
||||
<Link href={href} className="logo-stacked" aria-label={label}>
|
||||
<Image src="/logo-stacked.png" alt="AI Growth Technologies" width={480} height={547} />
|
||||
</Link>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user