FooterMinimal Footer
Éénregelige minimale footer. Logo links, links midden, copyright rechts.
src/components/footer/FooterMinimal.astro
---
/**
* FooterMinimal
* Éénregelige minimale footer. Logo links, links midden, copyright rechts.
*/
interface Props {
logo: string;
links?: { label: string; href: string }[];
copyright?: string;
}
const { logo, links = [], copyright } = Astro.props;
---
<footer class="fm">
<div class="fm-inner">
<a href="/" class="fm-logo">{logo}</a>
<nav class="fm-links">
{links.map(l => <a href={l.href} class="fm-link">{l.label}</a>)}
</nav>
<p class="fm-copy">{copyright ?? `© ${new Date().getFullYear()} ${logo}`}</p>
</div>
</footer>
<style>
.fm { background: #fff; border-top: 1px solid #e5e7eb; }
.fm-inner { max-width: 1280px; margin: 0 auto; padding: 1.25rem 2rem; display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.fm-logo { font-weight: 800; font-size: 0.9375rem; color: #0a0a0a; text-decoration: none; letter-spacing: -0.02em; }
.fm-links { display: flex; gap: 1.5rem; flex: 1; flex-wrap: wrap; }
.fm-link { font-size: 0.8125rem; color: #6b7280; text-decoration: none; transition: color 0.15s; }
.fm-link:hover { color: #0a0a0a; }
.fm-copy { font-size: 0.8125rem; color: #9ca3af; margin: 0; white-space: nowrap; }
</style>
Props
| Prop | Type | Default | Beschrijving |
|---|---|---|---|
logo * | string | — | Merknaam |
links | { label: string; href: string }[] | — | Footer links |
copyright | string | — | Copyright tekst |
* = verplicht