diff --git a/src/app/herkunft/page.tsx b/src/app/herkunft/page.tsx index 18f1e9d..ed3fdb8 100644 --- a/src/app/herkunft/page.tsx +++ b/src/app/herkunft/page.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; import { Container, SectionHeading } from "@/components/ui"; +import { HoneycombPattern, HexMark } from "@/components/honeycomb"; import { ContentImage } from "@/components/content-image"; import { ScrollReveal } from "@/components/scroll-reveal"; import { getLocale } from "@/i18n/locale"; @@ -20,33 +21,55 @@ export default async function HerkunftPage() { const t = getDictionary(locale); const image = await getContentValue("herkunft.image", locale); return ( -
- - - - + {/* Landschaft atmet langsam, Wabenraster liegt darueber — die + Ueberschrift ragt als Karte ins Bild hinein. */} +
+
+ - -
- {t.herkunftPage.aspects.map((a, i) => ( - -

{a.title}

-

{a.text}

-
- ))}
-

+

+ +
+ + +
+ +
+
+
    + {t.herkunftPage.aspects.map((a, i) => ( +
  • + +
    + +
    +

    {a.title}

    +

    {a.text}

    +
    +
    +
    +
  • + ))} +
+

+ {t.herkunftPage.privacyNote}

diff --git a/src/app/imkerei/page.tsx b/src/app/imkerei/page.tsx index c6d98c1..926528e 100644 --- a/src/app/imkerei/page.tsx +++ b/src/app/imkerei/page.tsx @@ -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 (
- + -
- {t.imkereiPage.paragraphs.map((paragraph) => ( -

{paragraph}

+
+ {t.imkereiPage.paragraphs.map((paragraph, i) => ( + // Erster Absatz als Einstieg: groesser, in Serifenschrift. +

+ {paragraph} +

))}
@@ -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. */} - + + +
); diff --git a/src/app/kontakt/page.tsx b/src/app/kontakt/page.tsx index 633a9f7..3317229 100644 --- a/src/app/kontakt/page.tsx +++ b/src/app/kontakt/page.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; import { Container, SectionHeading } from "@/components/ui"; +import { HoneycombPattern, HexMark } from "@/components/honeycomb"; import { ScrollReveal } from "@/components/scroll-reveal"; import { getCompanyInfo } from "@/lib/company-info"; import { getLocale } from "@/i18n/locale"; @@ -19,34 +20,56 @@ export default async function KontaktPage() { const company = await getCompanyInfo(); return (
- + - -

{company.name}

-

{company.address.street}

-

- {company.address.zip} {company.address.city} -

-

- - {company.email} - -

- {/* Ohne gepflegte Nummer entfaellt die Zeile ganz. Eine - Platzhalternummer waere schlimmer als keine: sie sieht nach - einem Kontaktweg aus, an dessen Ende niemand abnimmt. */} - {company.phone ?

{company.phone}

: null} -
+
+ {/* Kontaktkarte auf Wabenraster: die E-Mail ist der Hauptweg und + steht deshalb gross in Serifenschrift. */} + +
+ +
+ + {company.email} + + + {/* Ohne gepflegte Nummer entfaellt die Zeile ganz. Eine + Platzhalternummer waere schlimmer als keine: sie sieht nach + einem Kontaktweg aus, an dessen Ende niemand abnimmt. */} + {company.phone ?

{company.phone}

: null} +
+ {company.name} + {company.address.street} +
+ {company.address.zip} {company.address.city} +
+
+
+
- -

{t.kontaktPage.pickupHeading}

-

- {t.kontaktPage.pickupText} -

-
+ +
+ +

{t.kontaktPage.pickupHeading}

+

{t.kontaktPage.pickupText}

+
+
+
); diff --git a/src/app/unternehmen/page.tsx b/src/app/unternehmen/page.tsx index f43fab7..a154b19 100644 --- a/src/app/unternehmen/page.tsx +++ b/src/app/unternehmen/page.tsx @@ -1,5 +1,6 @@ import type { Metadata } from "next"; import { Container, SectionHeading } from "@/components/ui"; +import { HoneycombPattern } from "@/components/honeycomb"; import { ContentImage } from "@/components/content-image"; import { BusinessInquiryForm } from "@/components/business-inquiry-form"; import { ScrollReveal } from "@/components/scroll-reveal"; @@ -22,14 +23,20 @@ export default async function UnternehmenPage() { const image = await getContentValue("unternehmen.image", locale); return (
- +
+
+ +
+ +
-
+
{t.unternehmenPage.packages.map((pkg, i) => ( - -

{pkg.title}

-

{pkg.text}

+ +
+ {/* Grosses Sechseck als Wasserzeichen, das beim Hover einrueckt. */} + +

{pkg.title}

+

{pkg.text}

+
))}
- -

{t.unternehmenPage.inquiryHeading}

- -
+ {/* Geteilt: die Ueberschrift laeuft neben dem langen Formular mit. */} +
+ +

+ {t.unternehmenPage.inquiryHeading} +

+
+ + + +
);