Zoeken...  ⌘K GitHub

FooterCompact Footer

Compacte tweekolomsfooter: brand links, links rechts.

/footer-compact
src/components/footer/FooterCompact.astro
---
/**
 * FooterCompact
 * Compacte tweekolomsfooter: brand links, links rechts. Geen overbodige ruimte.
 */
interface Props {
  logo: string;
  tagline?: string;
  leftLinks?: { label: string; href: string }[];
  rightLinks?: { label: string; href: string }[];
  copyright?: string;
}
const { logo, tagline, leftLinks = [], rightLinks = [], copyright } = Astro.props;
---
<footer class="fcom">
  <div class="fcom-inner">
    <div class="fcom-left">
      <a href="/" class="fcom-logo">{logo}</a>
      {tagline && <span class="fcom-tagline">{tagline}</span>}
    </div>
    <nav class="fcom-nav">
      {leftLinks.map(l => <a href={l.href} class="fcom-link">{l.label}</a>)}
      {rightLinks.map(l => <a href={l.href} class="fcom-link fcom-link--muted">{l.label}</a>)}
    </nav>
    <p class="fcom-copy">{copyright ?? `© ${new Date().getFullYear()}`}</p>
  </div>
</footer>
<style>
  .fcom { background: #fff; border-top: 1px solid #e5e7eb; }
  .fcom-inner { max-width: 1280px; margin: 0 auto; padding: 1rem 2rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
  .fcom-left { display: flex; align-items: center; gap: 0.75rem; }
  .fcom-logo { font-weight: 800; font-size: 0.9375rem; color: #0a0a0a; text-decoration: none; letter-spacing: -0.02em; }
  .fcom-tagline { font-size: 0.75rem; color: #9ca3af; border-left: 1px solid #e5e7eb; padding-left: 0.75rem; }
  .fcom-nav { display: flex; flex: 1; gap: 1.25rem; flex-wrap: wrap; }
  .fcom-link { font-size: 0.8125rem; color: #6b7280; text-decoration: none; transition: color 0.15s; }
  .fcom-link:hover { color: #0a0a0a; }
  .fcom-link--muted { color: #9ca3af; }
  .fcom-copy { font-size: 0.75rem; color: #9ca3af; margin: 0; white-space: nowrap; }
</style>

Props

Prop Type Default Beschrijving
logo * string Merknaam
tagline string Tagline naast logo
leftLinks { label: string; href: string }[] Links links van midden
rightLinks { label: string; href: string }[] Links rechts van midden (muted)
copyright string Copyright tekst

* = verplicht