spb/market-atlas
Public
TypeScript 96.7%
SQL 1.6%
CSS 0.8%
JavaScript 0.5%
1import Link from "next/link";2import { DISCLAIMER } from "@/lib/site";3import { Wordmark } from "./logo";45const COLS: Array<{ title: string; links: Array<[string, string]> }> = [6 { title: "Markets", links: [["/stocks", "Stocks"], ["/etfs", "ETFs"], ["/indices", "Indices"], ["/crypto", "Crypto"], ["/forex", "Forex"], ["/rates", "Rates"], ["/commodities", "Commodities"]] },7 { title: "Atlas", links: [["/live", "Live feed"], ["/exchanges", "Exchanges"], ["/countries", "Countries"], ["/events", "Events"], ["/halts", "Halts"], ["/filings", "Filings"], ["/compare", "Compare"]] },8 { title: "Data", links: [["/sources", "Sources"], ["/coverage", "Source coverage"], ["/connectors", "Connectors"], ["/data-health", "Data health"], ["/status", "Status"], ["/methodology", "Methodology"], ["/licensing", "Data rights"], ["/developers", "Developers"]] },9];1011export function SiteFooter() {12 return (13 <footer className="rule-t mt-12 bg-surface">14 <div className="mx-auto grid grid-cols-1 [&>*]:min-w-0 max-w-[1440px] gap-8 px-4 py-10 sm:px-5 md:grid-cols-[1.4fr_repeat(3,1fr)]">15 <div>16 <Wordmark />17 <p className="mt-3 max-w-sm text-xs leading-relaxed text-ink-3">{DISCLAIMER}</p>18 <p className="mt-3 text-xs text-ink-3">19 Prices may be delayed or end-of-day depending on the source; every quote carries its data status and provenance. See <Link href="/methodology" className="text-accent hover:underline">methodology</Link>.20 </p>21 </div>22 {COLS.map((c) => (23 <div key={c.title}>24 <h3 className="mb-2 text-[11px] font-medium uppercase tracking-wide text-ink-3">{c.title}</h3>25 <ul className="space-y-1.5 text-sm">26 {c.links.map(([href, label]) => (27 <li key={href}>28 <Link href={href} className="text-ink-2 hover:text-ink">29 {label}30 </Link>31 </li>32 ))}33 </ul>34 </div>35 ))}36 </div>37 <div className="rule-t">38 <div className="mx-auto flex max-w-[1440px] flex-wrap items-center justify-between gap-2 px-4 py-3 text-[11px] text-ink-3 sm:px-5">39 <span>© {new Date().getUTCFullYear()} Market Atlas · The live map of global markets.</span>40 <span>Data attributions: Coinbase, Kraken, Binance, OKX, Cboe (15-min delayed), ECB, Bank of Canada, U.S. Treasury, SEC EDGAR, Nasdaq Trader, HF Market Data.</span>41 </div>42 </div>43 </footer>44 );45}46