Merge version_2 into main #2

Merged
bender merged 8 commits from version_2 into main 2026-04-21 19:09:49 +00:00
8 changed files with 355 additions and 122 deletions

90
src/app/chef/page.tsx Normal file
View File

@@ -0,0 +1,90 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterCard from '@/components/sections/footer/FooterCard';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import TeamCardEleven from '@/components/sections/team/TeamCardEleven';
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen';
import { Trophy, Star } from "lucide-react";
export default function ChefAuthorityPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumSmall"
sizing="largeSizeMediumTitles"
background="fluid"
cardStyle="subtle-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="radial-glow"
headingFontWeight="light"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
{ name: "Chef Credentials", id: "#team" },
{ name: "Philosophy", id: "#testimonials" },
{ name: "Reserve", id: "#contact" },
]}
brandName="Buffalo Steakhaus"
/>
</div>
<div id="team" data-section="team">
<TeamCardEleven
title="Meet Our Executive Chef"
description="With over two decades of culinary mastery, Chef Hans Mueller brings uncompromising discipline to the Frankfurt steak scene."
textboxLayout="split"
animationType="slide-up"
groups={[
{
id: "leadership", groupTitle: "Leadership", members: [
{
id: "hans", title: "Hans Mueller", subtitle: "Executive Head Chef", detail: "Specializing in open-fire kinetics and dry-aging precision, Hans has refined the art of the steak to a singular, relentless focus on quality.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-pensive-old-man-chef-dressed-uniform-posing-against-dark-background_613910-17582.jpg"
}
]
}
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFifteen
testimonial="The culinary precision demonstrated by Chef Mueller is a rare find. It is not just about cooking; it's about the deep understanding of fire and fiber that transforms our dining experience into a masterclass."
rating={5}
author="Gastronomic Reviewer"
ratingAnimation="blur-reveal"
avatarsAnimation="slide-up"
avatars={[{ src: "http://img.b2bpic.net/free-photo/chef-cooking-dinner_410324-73.jpg", alt: "Chef Award" }]}
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Consult with the Kitchen"
description="For private events or specific culinary inquiries, reach out directly to the heart of our operations."
inputs={[
{ name: "name", type: "text", placeholder: "Name", required: true },
{ name: "email", type: "email", placeholder: "Email", required: true },
]}
textarea={{ name: "requests", placeholder: "How can we assist you?", rows: 4 }}
imageSrc="http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149728032.jpg"
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="BUFFALO STEAKHAUS"
copyrightText="© 2025 | Buffalo Steakhaus Frankfurt"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

37
src/app/contact/page.tsx Normal file
View File

@@ -0,0 +1,37 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterCard from '@/components/sections/footer/FooterCard';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function ContactPage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
{ name: "Shots", id: "/shots" },
{ name: "Contact", id: "/contact" },
]}
brandName="Buffalo Steakhaus"
/>
<div className="pt-32 pb-20">
<ContactSplitForm
title="Reservations"
description="Secure your table with our team. Please provide your preferred time and guest count."
inputs={[
{ name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true }
]}
textarea={{ name: "requests", placeholder: "Special Requests", rows: 4 }}
buttonText="Confirm Request"
/>
</div>
<FooterCard logoText="BUFFALO STEAKHAUS" />
</ReactLenis>
</ThemeProvider>
);
}

55
src/app/gallery/page.tsx Normal file
View File

@@ -0,0 +1,55 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterCard from '@/components/sections/footer/FooterCard';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
export default function GalleryPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumSmall"
sizing="largeSizeMediumTitles"
background="fluid"
cardStyle="subtle-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="radial-glow"
headingFontWeight="light"
>
<ReactLenis root>
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
{ name: "Gallery", id: "/gallery" },
]}
brandName="Buffalo Steakhaus"
/>
<div className="pt-32 pb-20">
<ProductCardTwo
title="Steakhaus Gallery"
description="Visual journey into the art of fire."
gridVariant="four-items-2x2-equal-grid"
animationType="blur-reveal"
textboxLayout="default"
products={[
{ id: "g1", name: "The Cut", price: "", imageSrc: "http://img.b2bpic.net/free-photo/close-up-view-tasty-steak-with-sauce-male-s-hands-begin-cut-slice_8353-7023.jpg" },
{ id: "g2", name: "The Sear", price: "", imageSrc: "http://img.b2bpic.net/free-photo/perfectly-grilled-medium-rare-steak-slate_84443-82643.jpg" },
{ id: "g3", name: "The Chef", price: "", imageSrc: "http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149728032.jpg" },
{ id: "g4", name: "The Result", price: "", imageSrc: "http://img.b2bpic.net/free-photo/fried-cooked-grilled-meat-with-spices-cut-slices-served-dark-slate-closeup_1220-6866.jpg" },
]}
/>
</div>
<FooterCard
logoText="BUFFALO STEAKHAUS"
copyrightText="© 2025 | Buffalo Steakhaus Frankfurt"
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -32,9 +32,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleApple
navItems={[
{ name: "Philosophy", id: "#about" },
{ name: "Cuts", id: "#products" },
{ name: "Reservations", id: "#contact" },
{ name: "Philosophy", id: "/#about" },
{ name: "Cuts", id: "/#products" },
{ name: "Shots", id: "/shots" },
{ name: "Reservations", id: "/contact" },
]}
brandName="Buffalo Steakhaus"
/>
@@ -52,26 +53,11 @@ export default function LandingPage() {
]}
enableKpiAnimation={true}
buttons={[
{ text: "Reserve Table", href: "#contact" },
{ text: "View Signature Cuts", href: "#products" },
{ text: "Reserve Table", href: "/contact" },
{ text: "View Signature Cuts", href: "/#products" },
]}
imageSrc="http://img.b2bpic.net/free-photo/close-up-view-tasty-steak-with-sauce-male-s-hands-begin-cut-slice_8353-7023.jpg"
mediaAnimation="blur-reveal"
avatars={[
{ src: "http://img.b2bpic.net/free-photo/cutting-cooked-steak-food-photography-recipe-ide_53876-144780.jpg", alt: "Gourmet guest 1" },
{ src: "http://img.b2bpic.net/free-photo/perfectly-grilled-medium-rare-steak-slate_84443-82643.jpg", alt: "Gourmet guest 2" },
{ src: "http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149728032.jpg", alt: "Gourmet guest 3" },
{ src: "http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149728016.jpg", alt: "Gourmet guest 4" },
{ src: "http://img.b2bpic.net/free-photo/tasty-beef-steak-with-salt-pepper-wooden-cutting-board-chef-decorating-meat-with-rosemary-smiling-man-with-bearded-face-gloves-tattoo-his-arm-background_651396-3906.jpg", alt: "Gourmet guest 5" },
]}
avatarText="Trusted by 500+ connoisseurs"
marqueeItems={[
{ type: "text", text: "Aged Prime Beef" },
{ type: "text", text: "Open Flame Mastery" },
{ type: "text", text: "Precision Temperature" },
{ type: "text", text: "Frankfurt Craft" },
{ type: "text", text: "Culinary Discipline" },
]}
/>
</div>
@@ -86,102 +72,6 @@ export default function LandingPage() {
/>
</div>
<div id="features" data-section="features">
<FeatureHoverPattern
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={true}
features={[
{ icon: Flame, title: "Fire Mastery", description: "Strict temperature control." },
{ icon: Flame, title: "Precision Butchery", description: "Exact cut specifications." },
{ icon: Clock, title: "Absolute Timing", description: "Reliable cook consistency." },
]}
title="Our Principles"
description="True authority requires absolute consistency."
/>
</div>
<div id="products" data-section="products">
<ProductCardTwo
animationType="slide-up"
textboxLayout="split"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
products={[
{ id: "p1", brand: "Prime", name: "Ribeye", price: "48€", rating: 5, reviewCount: "120", imageSrc: "http://img.b2bpic.net/free-photo/fried-cooked-grilled-meat-with-spices-cut-slices-served-dark-slate-closeup_1220-6866.jpg" },
{ id: "p2", brand: "Wagyu", name: "Tenderloin", price: "85€", rating: 5, reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/cook-cooking-fresh-peace-meat-board-dark-background-cooking-concept_1220-7134.jpg" },
{ id: "p3", brand: "Prime", name: "Tomahawk", price: "110€", rating: 5, reviewCount: "80", imageSrc: "http://img.b2bpic.net/free-photo/well-done-steak-with-mashed-potatoes-fried-vegetables_140725-2240.jpg" },
{ id: "p4", brand: "Select", name: "Filet Mignon", price: "52€", rating: 5, reviewCount: "110", imageSrc: "http://img.b2bpic.net/free-photo/steak-with-cheese-vegetables-restaurant_501050-747.jpg" },
{ id: "p5", brand: "Prime", name: "Sirloin", price: "45€", rating: 5, reviewCount: "130", imageSrc: "http://img.b2bpic.net/free-photo/side-view-grilled-beef-meat_140725-11963.jpg" },
{ id: "p6", brand: "Prime", name: "Porterhouse", price: "98€", rating: 5, reviewCount: "75", imageSrc: "http://img.b2bpic.net/free-photo/rib-eye-steak-wooden-board_140725-6783.jpg" },
]}
title="Signature Cuts"
description="Only the finest origins."
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardTwo
animationType="depth-3d"
textboxLayout="split"
gridVariant="bento-grid"
useInvertedBackground={true}
metrics={[
{ id: "m1", value: "21d", description: "Minimum Dry Aging" },
{ id: "m2", value: "100%", description: "Sourcing Transparency" },
{ id: "m3", value: "0", description: "Gimmicks" },
]}
title="Culinary Metrics"
description="Standardized perfection."
/>
</div>
<div id="team" data-section="team">
<TeamCardTwo
animationType="slide-up"
textboxLayout="split"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
members={[
{ id: "t1", name: "Hans Mueller", role: "Head Chef", description: "20 years of fire mastery.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-pensive-old-man-chef-dressed-uniform-posing-against-dark-background_613910-17582.jpg" },
{ id: "t2", name: "Elena Weber", role: "Sous Chef", description: "Consistency focus.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-indigenous-person-integrating-society_23-2151102423.jpg" },
{ id: "t3", name: "Markus Koch", role: "Lead Butcher", description: "Precision cut expert.", imageSrc: "http://img.b2bpic.net/free-photo/bearded-meat-seller-dressed-fleece-shirt-serving-fresh-cut-meat-market_613910-16187.jpg" },
]}
title="The Masters"
description="Execution through experience."
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTen
textboxLayout="split"
useInvertedBackground={true}
testimonials={[
{ id: "1", title: "Flawless", quote: "The consistency is unmatched.", name: "Sarah Johnson", role: "CEO", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081849.jpg" },
{ id: "2", title: "Expert", quote: "Finally, no gimmicks.", name: "Michael Chen", role: "CTO", imageSrc: "http://img.b2bpic.net/free-photo/portrait-senior-man-luxurious-restaurant_23-2150517397.jpg" },
{ id: "3", title: "Exceptional", quote: "My preferred business spot.", name: "Emily Rodriguez", role: "Director", imageSrc: "http://img.b2bpic.net/free-photo/crazy-chef-worried-expression_1194-1549.jpg" },
{ id: "4", title: "Authority", quote: "Steak craft at its peak.", name: "David Kim", role: "Manager", imageSrc: "http://img.b2bpic.net/free-photo/bearded-black-man-wearing-suit-felt-hat_613910-16012.jpg" },
{ id: "5", title: "Reliable", quote: "Precision in every bite.", name: "Anna Schmidt", role: "Consultant", imageSrc: "http://img.b2bpic.net/free-photo/couple-having-date-together-luxurious-restaurant_23-2150517448.jpg" },
]}
title="Authentic Praise"
description="Reliability recognized."
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
useInvertedBackground={false}
title="Inquire Table"
description="Discretion and precision assured."
inputs={[
{ name: "name", type: "text", placeholder: "Name", required: true },
{ name: "email", type: "email", placeholder: "Email", required: true },
]}
textarea={{ name: "requests", placeholder: "Special requests", rows: 4 }}
imageSrc="http://img.b2bpic.net/free-photo/dining-table-with-chairs-tableware_140725-7822.jpg"
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="BUFFALO STEAKHAUS"
@@ -191,4 +81,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -0,0 +1,61 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterCard from '@/components/sections/footer/FooterCard';
export default function ReservationsPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumSmall"
sizing="largeSizeMediumTitles"
background="fluid"
cardStyle="subtle-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="radial-glow"
headingFontWeight="light"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleApple
navItems={[
{ name: "Philosophy", id: "/#about" },
{ name: "Cuts", id: "/#products" },
{ name: "Reservations", id: "/reservations" },
]}
brandName="Buffalo Steakhaus"
/>
</div>
<div id="reservations" data-section="contact">
<ContactSplitForm
useInvertedBackground={false}
title="Secure Your Table"
description="Precision booking for an unparalleled dining experience. Select your preferred date and time to secure your spot at Buffalo Steakhaus."
inputs={[
{ name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true },
{ name: "date", type: "date", placeholder: "Date", required: true },
{ name: "partySize", type: "number", placeholder: "Number of Guests", required: true },
]}
textarea={{ name: "requests", placeholder: "Any dietary requirements or special requests?", rows: 4 }}
imageSrc="http://img.b2bpic.net/free-photo/dining-table-with-chairs-tableware_140725-7822.jpg"
buttonText="Confirm Reservation"
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="BUFFALO STEAKHAUS"
copyrightText="© 2025 | Buffalo Steakhaus Frankfurt"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

60
src/app/reviews/page.tsx Normal file
View File

@@ -0,0 +1,60 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
import FooterCard from '@/components/sections/footer/FooterCard';
export default function ReviewsPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumSmall"
sizing="largeSizeMediumTitles"
background="fluid"
cardStyle="subtle-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="radial-glow"
headingFontWeight="light"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
{ name: "Reviews", id: "/reviews" },
]}
brandName="Buffalo Steakhaus"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTwelve
cardTitle="Guest Reflections"
cardTag="Authentic Praise"
cardAnimation="blur-reveal"
useInvertedBackground={true}
testimonials={[
{ id: "1", name: "Sarah Johnson", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081849.jpg" },
{ id: "2", name: "Michael Chen", imageSrc: "http://img.b2bpic.net/free-photo/portrait-senior-man-luxurious-restaurant_23-2150517397.jpg" },
{ id: "3", name: "Emily Rodriguez", imageSrc: "http://img.b2bpic.net/free-photo/crazy-chef-worried-expression_1194-1549.jpg" },
{ id: "4", name: "David Kim", imageSrc: "http://img.b2bpic.net/free-photo/bearded-black-man-wearing-suit-felt-hat_613910-16012.jpg" },
{ id: "5", name: "Anna Schmidt", imageSrc: "http://img.b2bpic.net/free-photo/couple-having-date-together-luxurious-restaurant_23-2150517448.jpg" },
]}
buttons={[{ text: "Return Home", href: "/" }]}
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
logoText="BUFFALO STEAKHAUS"
copyrightText="© 2025 | Buffalo Steakhaus Frankfurt"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

40
src/app/shots/page.tsx Normal file
View File

@@ -0,0 +1,40 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterCard from '@/components/sections/footer/FooterCard';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
export default function ShotsPage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
{ name: "Shots", id: "/shots" },
{ name: "Contact", id: "/contact" },
]}
brandName="Buffalo Steakhaus"
/>
<div className="pt-32 pb-20">
<ProductCardTwo
title="Brand Moments"
description="A visual journey through our kitchen fire and discipline."
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
textboxLayout="default"
products={[
{ id: "s1", name: "Fire Mastery", price: "", imageSrc: "http://img.b2bpic.net/free-photo/close-up-view-tasty-steak-with-sauce-male-s-hands-begin-cut-slice_8353-7023.jpg" },
{ id: "s2", name: "Dry Aging", price: "", imageSrc: "http://img.b2bpic.net/free-photo/cook-cooking-fresh-peace-meat-board-dark-background-cooking-concept_1220-7134.jpg" },
{ id: "s3", name: "Precision Cuts", price: "", imageSrc: "http://img.b2bpic.net/free-photo/well-done-steak-with-mashed-potatoes-fried-vegetables_140725-2240.jpg" },
{ id: "s4", name: "Final Execution", price: "", imageSrc: "http://img.b2bpic.net/free-photo/steak-with-cheese-vegetables-restaurant_501050-747.jpg" }
]}
/>
</div>
<FooterCard logoText="BUFFALO STEAKHAUS" />
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -11,14 +11,14 @@
--background-accent: #ffffff; */
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #ffffffe6;
--card: #171717;
--foreground: #f5f5f5;
--primary-cta: #d4af37;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1a1a1a;
--secondary-cta: #262626;
--secondary-cta-text: #ffffffe6;
--accent: #737373;
--background-accent: #737373;
--accent: #525252;
--background-accent: #1a1a1a;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);