SPB Git forge

spb/hilmacorp

Public
1commits 1branches 0releases
29.2 MBsize
maindefault branch
19 days agolast push
TypeScript 93.3% JavaScript 4.4% CSS 2.3%
3.4 KB · 107 lines tsx
Raw Blame History
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