spb/cancerindex
Public
TypeScript 97.2%
SQL 1.5%
CSS 0.6%
JavaScript 0.5%
1import Link from 'next/link';2import { BrandMark } from './brand-mark';3import { DISCLAIMER, FOOTER_NAV, CONTACT_EMAIL, AUTHOR_NAME, AUTHOR_URL, HOSTING_NAME, HOSTING_URL } from '@/lib/site';45export function SiteFooter() {6 return (7 <footer className="mt-16 border-t border-rule-strong bg-paper-2">8 <div className="mx-auto max-w-[1400px] px-4 py-8 sm:px-6">9 <div className="grid gap-6 md:grid-cols-[1.4fr_1fr]">10 <div>11 <p className="flex items-center gap-2 font-display text-lg">12 <BrandMark size={22} className="text-ink" />13 Cancer<span className="text-accent">Index</span>14 </p>15 <p className="mt-2 max-w-2xl text-[13px] leading-relaxed text-ink-2">{DISCLAIMER}</p>16 <p className="mt-2 max-w-2xl text-[12.5px] leading-relaxed text-ink-3">17 Every number links to its source and retrieval date. Derived metrics carry a formula version. AI-generated synthesis is not enabled in this phase; all content is database-grounded.18 </p>19 </div>20 <nav aria-label="Footer" className="grid grid-cols-2 gap-x-6 gap-y-1.5 text-[13px]">21 {FOOTER_NAV.map((n) => (22 <Link key={n.href} href={n.href} className="text-ink-2 no-underline hover:text-accent">23 {n.label}24 </Link>25 ))}26 <a href={`mailto:${CONTACT_EMAIL}`} className="text-ink-2 no-underline hover:text-accent">27 Contact · {CONTACT_EMAIL}28 </a>29 <Link href="/healthz" className="text-ink-2 no-underline hover:text-accent">30 Status31 </Link>32 </nav>33 </div>34 <p className="mt-6 text-[11.5px] text-ink-3">35 © {new Date().getUTCFullYear()} CancerIndex · built and maintained by{' '}36 <a href={AUTHOR_URL} className="text-ink-2 no-underline hover:text-accent" rel="author">37 {AUTHOR_NAME}38 </a>{' '}39 · contact <a href={`mailto:${CONTACT_EMAIL}`} className="text-ink-2 no-underline hover:text-accent">{CONTACT_EMAIL}</a> · hosted on{' '}40 <a href={HOSTING_URL} className="text-ink-2 no-underline hover:text-accent" target="_blank" rel="noopener noreferrer">41 {HOSTING_NAME}42 </a>{' '}43 (www.maclustr.io). Source data remains under the license of each provider — see /sources.44 </p>45 </div>46 </footer>47 );48}49