SPB Git

spb/autoscholar

Public
2.3 KB · 75 lines tsx
1import Link from "next/link";2import { t } from "@/lib/i18n";3import { Wordmark } from "./SiteHeader";45const COLS: Array<[string, Array<[string, string]>]> = [6  [7    "Library",8    [9      ["/research", "Working papers"],10      ["/topics", "Topics"],11      ["/series", "Series"],12      ["/feed.xml", "RSS feed"],13      ["/feed.atom", "Atom feed"],14    ],15  ],16  [17    "Institution",18    [19      ["/about", "About"],20      ["/methodology", "Methodology"],21      ["/infrastructure", "Infrastructure"],22      ["/transparency", "Transparency"],23    ],24  ],25  [26    "Legal",27    [28      ["/legal/privacy", "Privacy"],29      ["/legal/terms", "Terms"],30      ["/legal/research-disclaimer", "Research disclaimer"],31    ],32  ],33];3435export function SiteFooter() {36  return (37    <footer className="mt-16 border-t hairline sm:mt-24" style={{ paddingBottom: "var(--safe-b)" }}>38      <div className="container-x grid gap-10 py-12 md:grid-cols-12 lg:py-16">39        <div className="md:col-span-5">40          <Wordmark />41          <p className="muted mt-3 max-w-sm text-sm leading-relaxed">42            Autonomous Research Foundry. From research instructions to verifiable working papers.43          </p>44          <div className="surface-muted mt-5 max-w-sm p-4">45            <p className="eyebrow">Powered by MacLustr</p>46            <p className="muted mt-1 text-sm">{t("footer.credit")}</p>47          </div>48        </div>49        <div className="grid grid-cols-2 gap-8 sm:grid-cols-3 md:col-span-7">50          {COLS.map(([h, items]) => (51            <div key={h}>52              <p className="label mb-3">{h}</p>53              <ul className="space-y-2 text-sm">54                {items.map(([href, label]) => (55                  <li key={href}>56                    <Link href={href} className="muted no-underline hover:text-[var(--fg)]">57                      {label}58                    </Link>59                  </li>60                ))}61              </ul>62            </div>63          ))}64        </div>65      </div>66      <div className="border-t hairline">67        <div className="container-x subtle flex flex-col gap-1 py-4 text-xs sm:flex-row sm:justify-between">68          <span>{t("footer.disclaimer")}</span>69          <span>© {new Date().getFullYear()} AutoScholar.ai</span>70        </div>71      </div>72    </footer>73  );74}75
Files · main
Menu

Theme