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