3 Commits

Author SHA1 Message Date
477fb707ce Update src/app/styles/base.css 2026-05-15 08:37:03 +00:00
f6c74b71d8 Update src/app/page.tsx 2026-05-15 08:37:02 +00:00
cc1890ea80 Update src/app/layout.tsx 2026-05-15 08:37:02 +00:00
3 changed files with 123 additions and 276 deletions

View File

@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Libre_Baskerville } from "next/font/google";
import { Poppins } from "next/font/google";
@@ -20,15 +21,9 @@ export const metadata: Metadata = {
},
};
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville",
subsets: ["latin"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const poppins = Poppins({ variable: "--font-poppins", subsets: ["latin"], weight: ["400", "600", "700"] });
const inter = Inter({ variable: "--font-inter", subsets: ["latin"] });
export default function RootLayout({
children,
@@ -38,7 +33,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<body className={`${poppins.variable} ${inter.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -2,286 +2,138 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText';
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import HeroBillboardScroll from '@/components/sections/hero/HeroBillboardScroll';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ProductCardFour from '@/components/sections/product/ProductCardFour';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FaqDouble from '@/components/sections/faq/FaqDouble';
import FooterBase from '@/components/sections/footer/FooterBase';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
import { Coffee } from "lucide-react";
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import { Coffee, MapPin, Clock } from "lucide-react";
export default function LandingPage() {
return (
<ThemeProvider
defaultButtonVariant="text-shift"
defaultTextAnimation="background-highlight"
borderRadius="rounded"
contentWidth="mediumSmall"
sizing="large"
background="noiseDiagonalGradient"
cardStyle="gradient-bordered"
primaryButtonStyle="shadow"
secondaryButtonStyle="radial-glow"
headingFontWeight="medium"
defaultButtonVariant="hover-magnetic"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumLarge"
sizing="largeSizeMediumTitles"
background="noise"
cardStyle="glass-elevated"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{
name: "Home",
id: "#hero",
},
{
name: "Über uns",
id: "#about",
},
{
name: "Speisekarte",
id: "#menu",
},
{
name: "Kontakt",
id: "#contact",
},
]}
brandName="Caphe am Eberstein"
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "#hero" },
{ name: "Über uns", id: "#about" },
{ name: "Menu", id: "#menu" },
{ name: "Stimmen", id: "#testimonials" },
{ name: "Kontakt", id: "#contact" },
]}
brandName="Caphe am Eberstein"
button={{ text: "Reservieren", href: "#contact" }}
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardScroll
background={{
variant: "plain",
}}
title="Dein Lieblingsplatz für Brunch in Pforzheim"
description="Erlebe unvergleichlichen Kaffeegenuss und hausgemachte Delikatessen am Eberstein. Frisch, modern, mit ganz viel Herz."
buttons={[
{
text: "Speisekarte ansehen",
href: "#menu",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/retro-theatre-scene-celebrate-world-theatre-day_23-2151211472.jpg"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplitKpi
background={{ variant: "sparkles-gradient" }}
title="Kaffeekultur neu erleben in Pforzheim"
description="Dein täglicher Rückzugsort für exzellenten Specialty Coffee, hausgemachte Egg Drop Sandwiches und Vibes, die bleiben. Wir sind das Caphe am Eberstein dein 'Zuhaus' in der Nordstadt."
kpis={[
{ value: "100%", label: "Regional bezogen" },
{ value: "Handmade", label: "Täglich frisch" },
{ value: "Modern", label: "Vibe check passed" }
]}
buttons={[{ text: "Menu entdecken", href: "#menu" }]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DklGRPo0KHoJHExCJarv7b5d46/uploaded-1778834208618-gwvum2hq.png"
mediaAnimation="blur-reveal"
/>
</div>
<div id="about" data-section="about">
<TestimonialAboutCard
useInvertedBackground={false}
tag="Unsere Philosophie"
title="Dein gemütlicher Rückzugsort"
description="Willkommen im Caphe am Eberstein. Mitten in der Nordstadt schaffen wir einen Ort, an dem moderner Lifestyle auf herzliche Gastfreundschaft trifft. Ob sonnige Plätze auf der Terrasse oder gemütliche Ecken drinnen hier bist du zu Hause."
subdescription="Unser Raum ist barrierefrei und mit Liebe zum Detail gestaltet."
icon={Coffee}
imageSrc="http://img.b2bpic.net/free-photo/full-shot-people-sitting-bistro_23-2149366419.jpg"
mediaAnimation="slide-up"
/>
</div>
<div id="about" data-section="about">
<InlineImageSplitTextAbout
useInvertedBackground={true}
heading={[
{ type: 'text', content: 'Mehr als nur ein ' },
{ type: 'image', src: 'https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DklGRPo0KHoJHExCJarv7b5d46/uploaded-1778834208618-28mtamyq.jpg' },
{ type: 'text', content: ' Kaffee.' }
]}
buttons={[{ text: "Lerne uns kennen", href: "#about" }]}
/>
</div>
<div id="menu" data-section="menu">
<ProductCardFour
animationType="slide-up"
textboxLayout="split"
gridVariant="two-columns-alternating-heights"
useInvertedBackground={false}
products={[
{
id: "1",
name: "Signature Egg Drop",
price: "8,50 €",
variant: "Herzhaft & fluffig",
imageSrc: "http://img.b2bpic.net/free-photo/sandwich-with-tomato-cucumber-green-herbs-with-bowl-lentil-soup_114579-3074.jpg",
},
{
id: "2",
name: "Strawberry Matcha",
price: "5,90 €",
variant: "Erfrischend & trendy",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-hands-holding-delicious-drink_23-2149356018.jpg",
},
{
id: "3",
name: "Café Sua Da",
price: "4,50 €",
variant: "Vietnamesische Tradition",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-empty-cup-with-red-kettle-brown-coffee-seeds-flowers-wooden-desk_140725-19726.jpg",
},
{
id: "4",
name: "Zimt-Schnecke",
price: "4,20 €",
variant: "Hausgemacht & warm",
imageSrc: "http://img.b2bpic.net/free-photo/shortcrust-pastry-basket-with-condensed-milk-nuts_140725-6802.jpg",
},
{
id: "5",
name: "Karottenkuchen",
price: "4,80 €",
variant: "Saftig & frisch",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-donuts-concept_23-2148761711.jpg",
},
{
id: "6",
name: "Flat White",
price: "3,90 €",
variant: "Barista Spezialität",
imageSrc: "http://img.b2bpic.net/free-photo/iced-caramel-macchiato_23-2151961350.jpg",
},
]}
title="Unsere Highlights"
description="Handverlesene Spezialitäten, die Körper und Seele verwöhnen."
/>
</div>
<div id="menu" data-section="menu">
<ProductCardTwo
title="Unsere Favoriten"
description="Hausgemacht, frisch & für jeden Vibe."
gridVariant="bento-grid"
animationType="slide-up"
textboxLayout="split"
products={[
{ id: "1", brand: "Signature", name: "Egg Drop Sandwich", price: "8,50 €", rating: 5, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DklGRPo0KHoJHExCJarv7b5d46/uploaded-1778834208618-gwvum2hq.png" },
{ id: "2", brand: "Matcha", name: "Strawberry Iced Matcha", price: "5,90 €", rating: 5, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DklGRPo0KHoJHExCJarv7b5d46/uploaded-1778834208618-28mtamyq.jpg" }
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
animationType="slide-up"
textboxLayout="split"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Lisa M.",
role: "Foodie",
company: "Pforzheim",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-woman-bar_23-2147680953.jpg",
},
{
id: "2",
name: "Markus K.",
role: "Kaffeeliebhaber",
company: "Nordstadt",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/attractive-happy-young-bearded-man-trendy-hat-texting-messages-via-social-networks-browsing-internet-using-free-wifi-his-electronic-device-coffee-break-restaurant_273609-1934.jpg",
},
{
id: "3",
name: "Sarah P.",
role: "Studentin",
company: "Pforzheim",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/cute-tanned-brunette-woman-stylish-red-dress-beret-sunglasses-sits-cafe_197531-24181.jpg",
},
{
id: "4",
name: "Thomas W.",
role: "Anwohner",
company: "Nordstadt",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/hipster-woman-studying-cafe_329181-2086.jpg",
},
{
id: "5",
name: "Julia H.",
role: "Stammgast",
company: "Pforzheim",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/person-cafe-enjoying-book_23-2150064701.jpg",
},
]}
title="Was unsere Gäste sagen"
description="Wir freuen uns riesig über euer Feedback!"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardSix
title="Was unsere Community sagt"
description="Eure Liebe macht uns aus."
animationType="slide-up"
textboxLayout="split"
testimonials={[
{ id: "1", name: "Julia M.", handle: "@foodie_pforzheim", testimonial: "Der Vibe hier ist einfach unschlagbar. Das beste Egg Drop in town!", icon: Coffee }
]}
/>
</div>
<div id="socialProof" data-section="socialProof">
<SocialProofOne
textboxLayout="split"
useInvertedBackground={false}
names={[
"Regio-Kaffee",
"Lokale Molkerei",
"Bio-Markt Eberstein",
"Pforzheimer Bäckerverein",
"Nordstadt Rösterei",
"Frische Bio-Eier",
"Regionaler Obsthof",
]}
title="Unsere Partner"
description="Wir vertrauen nur auf die besten regionalen Lieferanten."
/>
</div>
<div id="socialProof" data-section="socialProof">
<SocialProofOne
names={["Regio-Kaffee", "Bio-Markt Eberstein", "Nordstadt Rösterei"]}
title="Regional für dich."
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
useInvertedBackground={false}
faqs={[
{
id: "1",
title: "Gibt es vegane Optionen?",
content: "Ja, wir haben täglich vegane Kuchen und Pflanzenmilch-Optionen.",
},
{
id: "2",
title: "Ist das Café barrierefrei?",
content: "Absolut, der Eingang und der Gastraum sind komplett ebenerdig.",
},
{
id: "3",
title: "Kann man reservieren?",
content: "Gerne für größere Gruppen ruf uns einfach an.",
},
]}
sideTitle="Fragen?"
sideDescription="Hier findest du Antworten auf häufige Fragen."
faqsAnimation="slide-up"
/>
</div>
<div id="faq" data-section="faq">
<FaqDouble
title="Alles Wichtige"
faqsAnimation="slide-up"
textboxLayout="split"
faqs={[
{ id: "1", title: "Du bist vegan unterwegs?", content: "Null Stress, wir haben immer vegane Optionen am Start." },
{ id: "2", title: "Barrierefrei?", content: "Klar, komm einfach rein, alles ebenerdig." }
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={false}
background={{
variant: "plain",
}}
text="Besuche uns in der Ebersteinstr. 12, Pforzheim Wir freuen uns auf dich!"
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
tag="Kontakt"
title="Komm auf einen Kaffee vorbei!"
description="Wir freuen uns auf deinen Besuch bei uns am Eberstein."
buttons={[{ text: "Ebersteinstr. 12, Pforzheim", href: "#" }]}
background={{ variant: "sparkles-gradient" }}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="Caphe am Eberstein"
columns={[
{
title: "Infos",
items: [
{
label: "Standort",
href: "#contact",
},
{
label: "Öffnungszeiten",
href: "#",
},
{
label: "Kontakt",
href: "#contact",
},
],
},
{
title: "Rechtliches",
items: [
{
label: "Impressum",
href: "#",
},
{
label: "Datenschutz",
href: "#",
},
],
},
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
logoText="Caphe am Eberstein"
columns={[
{ title: "Links", items: [{ label: "Reservieren", href: "#contact" }, { label: "Menu", href: "#menu" }] }
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-libre-baskerville), serif;
font-family: var(--font-poppins), sans-serif;
}