TypeScript 93.3%
JavaScript 4.4%
CSS 2.3%
1/**2 * Author: Simon-Pierre Boucher3 * Contact: contact@spboucher.ai4 * Project: Hilmacorp.ai — Web Platform5 * File: components/Footer.tsx6 * Description: Site footer with tagline, navigation, and contact information (light theme)7 */89import Link from "next/link";10import Logo from "@/components/Logo";11import ManageCookiesButton from "@/components/ManageCookiesButton";12import type { Locale, Messages } from "@/lib/i18n";1314export default function Footer({15 locale,16 messages,17}: {18 locale: Locale;19 messages: Messages;20}) {21 const { nav, footer } = messages;22 const links = [23 { href: `/${locale}/about`, label: nav.about },24 { href: `/${locale}/founders`, label: nav.founders },25 { href: `/${locale}/services`, label: nav.services },26 { href: `/${locale}/security`, label: nav.security },27 { href: `/${locale}/industries`, label: nav.industries },28 { href: `/${locale}/apps`, label: nav.apps },29 { href: `/${locale}/contact`, label: nav.contact },30 ];3132 return (33 <footer className="border-t border-line bg-paper-2">34 <div className="mx-auto grid w-full max-w-6xl gap-10 px-5 py-16 sm:px-8 md:grid-cols-4">35 <div className="md:col-span-1">36 <Logo />37 <p className="mt-5 max-w-xs text-sm leading-relaxed text-ink-faint">38 {footer.tagline}39 </p>40 </div>41 <nav aria-label="Footer">42 <h2 className="font-mono text-xs uppercase tracking-[0.25em] text-ink-faint">43 {footer.navTitle}44 </h2>45 <ul className="mt-4 grid grid-cols-2 gap-2.5">46 {links.map((link) => (47 <li key={link.href}>48 <Link49 href={link.href}50 className="text-sm text-ink-soft transition-colors hover:text-accent"51 >52 {link.label}53 </Link>54 </li>55 ))}56 </ul>57 </nav>58 <div>59 <h2 className="font-mono text-xs uppercase tracking-[0.25em] text-ink-faint">60 {footer.legalTitle}61 </h2>62 <ul className="mt-4 grid gap-2.5">63 <li>64 <Link65 href={`/${locale}/terms`}66 className="text-sm text-ink-soft transition-colors hover:text-accent"67 >68 {footer.terms}69 </Link>70 </li>71 <li>72 <Link73 href={`/${locale}/privacy`}74 className="text-sm text-ink-soft transition-colors hover:text-accent"75 >76 {footer.privacy}77 </Link>78 </li>79 <li>80 <ManageCookiesButton81 label={footer.cookies}82 className="text-left text-sm text-ink-soft transition-colors hover:text-accent"83 />84 </li>85 </ul>86 </div>87 <div>88 <h2 className="font-mono text-xs uppercase tracking-[0.25em] text-ink-faint">89 {footer.contactTitle}90 </h2>91 <a92 href="mailto:contact@spboucher.ai"93 className="mt-4 inline-block text-sm font-medium text-accent hover:text-accent-strong"94 >95 contact@spboucher.ai96 </a>97 </div>98 </div>99 <div className="border-t border-line">100 <p className="mx-auto w-full max-w-6xl px-5 py-5 text-xs text-ink-faint sm:px-8">101 © 2026 Hilmacorp.ai — {footer.rights}102 </p>103 </div>104 </footer>105 );106}107