feat(ui): Startseite lebt - fliegende Biene, Imker-Portraet, bewegte Fotos
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 2m28s

- Eine gezeichnete Biene fliegt beim Scrollen eine geschwungene Bahn ueber
  "Aktuelle Ernte" und zieht eine gepunktete Honigspur hinter sich her;
  Fluegelschlag und leichtes Schweben per CSS (components/bee.tsx).
- Neuer Abschnitt nach der Philosophie: Portraet des Imkers in Wabenform,
  die Punkte des Wabenrings wandern an der Kante entlang, eine Biene
  umkreist das Bild. Daneben der eigene Satz von der Imkerei-Seite als
  Zitat - kein neuer Text.
- Herkunft-, Region- und Firmenkunden-Foto bewegen sich beim Scrollen
  leicht mit (Zoom und Parallax, nur transform; components/parallax-media).

Alles rein dekorativ (aria-hidden) und mit Pfad fuer reduzierte Bewegung:
die Biene sitzt dann still, Ring und Fotos stehen.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-26 05:57:45 +02:00
1 parent d52a762e8a
commit b77516b9f5
6 files changed
+317 -27

No files matched your search

+43
View File
@@ -305,6 +305,49 @@ textarea::placeholder {
}
}
/* Biene (components/bee.tsx): Fluegelschlag, leichtes Schweben im Flug und
die Runde um das Imker-Portraet auf der Startseite. */
@keyframes wh-flutter {
from {
transform: scaleY(1);
}
to {
transform: scaleY(0.35);
}
}
@keyframes wh-hover {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
}
@keyframes wh-orbit {
to {
transform: rotate(360deg);
}
}
/* Punkte laufen entlang einer gestrichelten Linie (Wabenring um das Portraet). */
@keyframes wh-march {
to {
stroke-dashoffset: -35;
}
}
@media (prefers-reduced-motion: reduce) {
.motion-flutter,
.motion-hover,
.motion-orbit,
.motion-march {
animation: none !important;
}
}
/* ---------------------------------------------------------------------------
Admin-Arbeitsbereich (components/admin-shell.tsx): einheitliche Details
fuer alle Admin-Seiten zentral statt in jeder der rund 20 Seiten einzeln.
+2
View File
@@ -1,6 +1,7 @@
import type { Metadata } from "next";
import { Hero } from "@/components/hero";
import {
BeekeeperNote,
CurrentHarvest,
OriginStory,
Philosophy,
@@ -57,6 +58,7 @@ export default async function HomePage() {
<CurrentHarvest products={honeyProducts} reviewSummaries={reviewSummaries} />
<OriginStory />
<Philosophy />
<BeekeeperNote />
{spotlightProduct ? <ProductSpotlight product={spotlightProduct} /> : null}
<ProcessTimeline />
<RegionalSection />