feat: improve lightbox rendering, hero styles, and config loading

This commit is contained in:
ralksta
2026-03-08 16:16:15 +01:00
parent 09f358559e
commit 01da5e1baa
7 changed files with 437 additions and 189 deletions

View File

@@ -174,9 +174,56 @@ export default async function HomePage() {
);
}
// ── Default: split / fullbleed / minimal (existing layouts) ────
// ── Minimal: pure text, no image, simple centered ──────────────
if (heroStyle === 'minimal') {
return (
<div className="hero hero--minimal">
<div className="hero__content">
<FadeIn delay={0}>
<h1 className="hero__title">{config.siteTitle}</h1>
</FadeIn>
{config.siteSubtitle && (
<FadeIn delay={100}>
<p className="hero__subtitle">{config.siteSubtitle}</p>
</FadeIn>
)}
<FadeIn delay={200}>
<nav className="hero__nav">
<HeroNavLinks subpages={subpages} albums={albums} />
</nav>
</FadeIn>
</div>
</div>
);
}
// ── Fullbleed: full-viewport image + centered overlay ───────────
if (heroStyle === 'fullbleed') {
return (
<div className="hero hero--fullbleed">
<HeroCarousel images={heroData} />
<div className="hero__fullbleed-overlay">
<FadeIn delay={0}>
<h1 className="hero__title">{config.siteTitle}</h1>
</FadeIn>
{config.siteSubtitle && (
<FadeIn delay={100}>
<p className="hero__subtitle">{config.siteSubtitle}</p>
</FadeIn>
)}
<FadeIn delay={200}>
<nav className="hero__nav">
<HeroNavLinks subpages={subpages} albums={albums} />
</nav>
</FadeIn>
</div>
</div>
);
}
// ── Split: left text panel, right image (default) ───────────────
return (
<div className="hero">
<div className="hero hero--split">
{/* ── Left Panel ──────────────────────────────── */}
<div className="hero__left">
<div className="hero__content">