Footer

Single-Row Dark Footer

Single-row footer pinned dark: a brand wordmark, a row of six links and the copyright year, built on the Footer parts.

Free, MIT licenseOpen in Browse
import {
  Footer,
  FooterBand,
  FooterBottom,
  FooterBrand,
  FooterFineprint,
  FooterLink,
  FooterLinkRow,
} from "@/components/footer/footer"

// The copy: change text here, not in the markup.
const COPY = {
  brand: "Eudoxia.",
  navLabel: "Footer",
  copyright: "© 2026",
  links: ["Product", "Pricing", "Docs", "About", "Security", "Privacy"].map(
    (label) => ({
      label,
      href: "#",
    })
  ),
} as const

export default function MinimalFooter01() {
  return (
    <Footer>
      {/* The solid ground keeps the band legible in dark mode. */}
      <FooterBand className="bg-muted dark:bg-muted">
        <FooterBottom>
          <FooterBrand href="#">{COPY.brand}</FooterBrand>
          <nav aria-label={COPY.navLabel}>
            <FooterLinkRow>
              {COPY.links.map((link) => (
                <li key={link.label}>
                  <FooterLink href={link.href}>{link.label}</FooterLink>
                </li>
              ))}
            </FooterLinkRow>
          </nav>
          <FooterFineprint>{COPY.copyright}</FooterFineprint>
        </FooterBottom>
      </FooterBand>
    </Footer>
  )
}

Installation

pnpm dlx shadcn add @01orbital/minimal-footer-01
npx shadcn add @01orbital/minimal-footer-01
yarn shadcn add @01orbital/minimal-footer-01
bunx --bun shadcn add @01orbital/minimal-footer-01

Free under the MIT license. Add the @01orbital registry to components.json once (install guide), then run the command.

It lands at components/blocks/footer/minimal-footer-01/index.tsx, as source you own and edit.

Usage

import MinimalFooter01 from "@/components/blocks/footer/minimal-footer-01"

export default function Example() {
  return <MinimalFooter01 />
}

Dependencies

Registry pieces it installs with it:

  • footer