feat(ui): Markenseiten Herkunft, Imkerei, Unternehmen, Kontakt
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 2m24s

- Herkunft: atmendes Titelbild mit Wabenraster, Ueberschrift als Karte,
  die ins Bild ragt; Aspekte als Liste mit Waben
- Imkerei: Bild mit Honigrahmen, erster Absatz als Einstieg
- Fuer Unternehmen: Pakete als Karten mit Waben-Wasserzeichen, das beim
  Hover einrueckt; Anfrage mit mitlaufender Ueberschrift neben dem Formular
- Kontakt: E-Mail gross auf Wald-Karte mit Wabenraster, Abholung daneben

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-25 13:14:19 +02:00
1 parent dfda94ddfc
commit 76be1292ed
4 files changed
+153 -78

No files matched your search

+19 -14
View File
@@ -1,5 +1,5 @@
import type { Metadata } from "next";
import { Container, SectionHeading } from "@/components/ui";
import { Container, SectionHeading, FramedMedia } from "@/components/ui";
import { ContentImage } from "@/components/content-image";
import { ScrollReveal } from "@/components/scroll-reveal";
import { getLocale } from "@/i18n/locale";
@@ -21,16 +21,19 @@ export default async function ImkereiPage() {
const image = await getContentValue("imkerei.image", locale);
return (
<div className="py-20">
<Container className="grid md:grid-cols-2 gap-14 items-center">
<Container className="grid md:grid-cols-2 gap-16 lg:gap-24 items-center">
<ScrollReveal>
<SectionHeading
level="h1"
eyebrow={t.imkereiPage.eyebrow}
title={t.imkereiPage.title}
/>
<div className="mt-8 space-y-5 text-ink/75 leading-relaxed">
{t.imkereiPage.paragraphs.map((paragraph) => (
<p key={paragraph}>{paragraph}</p>
<div className="mt-8 max-w-[62ch] space-y-5 text-ink/75 leading-relaxed">
{t.imkereiPage.paragraphs.map((paragraph, i) => (
// Erster Absatz als Einstieg: groesser, in Serifenschrift.
<p key={paragraph} className={i === 0 ? "font-serif text-2xl leading-snug text-forest" : undefined}>
{paragraph}
</p>
))}
</div>
</ScrollReveal>
@@ -41,15 +44,17 @@ export default async function ImkereiPage() {
dem sonst greifenden Lazy-Loading erschien das Bild damit
deutlich spaeter als noetig. Die Textspalte daneben behaelt ihre
Einblendung, die kostet nichts. */}
<ContentImage
src={image || null}
alt={t.imkereiPage.imageLabel}
tone="honey"
className="aspect-[4/5] w-full"
label={t.imkereiPage.imageLabel}
sizes="(min-width: 768px) 50vw, 100vw"
priority
/>
<FramedMedia>
<ContentImage
src={image || null}
alt={t.imkereiPage.imageLabel}
tone="honey"
className="aspect-[4/5] w-full"
label={t.imkereiPage.imageLabel}
sizes="(min-width: 768px) 50vw, 100vw"
priority
/>
</FramedMedia>
</Container>
</div>
);