17 Commits

Author SHA1 Message Date
192ca13757 Update src/app/page.tsx 2026-05-19 17:06:54 +00:00
872ad90d42 Update src/app/menu/page.tsx 2026-05-19 17:06:54 +00:00
f3e44d7d7d Update src/app/page.tsx 2026-05-19 17:06:30 +00:00
6eeecc5b95 Merge version_3 into main
Merge version_3 into main
2026-05-19 17:00:15 +00:00
520c92bb4a Update src/app/menu/page.tsx 2026-05-19 17:00:12 +00:00
4962cd8096 Update src/app/contact/page.tsx 2026-05-19 17:00:11 +00:00
2982cc1708 Merge version_3 into main
Merge version_3 into main
2026-05-19 16:59:46 +00:00
2a4e5e6e91 Update src/app/page.tsx 2026-05-19 16:59:43 +00:00
49896676cc Add src/app/menu/page.tsx 2026-05-19 16:59:43 +00:00
46989f38c1 Add src/app/contact/page.tsx 2026-05-19 16:59:42 +00:00
7142d1ddaf Merge version_2 into main
Merge version_2 into main
2026-05-19 16:56:50 +00:00
70cedc7582 Update src/app/experience/page.tsx 2026-05-19 16:56:47 +00:00
b16493bd84 Update src/app/booking/page.tsx 2026-05-19 16:56:46 +00:00
f4f11c602a Merge version_2 into main
Merge version_2 into main
2026-05-19 16:56:25 +00:00
569d3be48d Update src/app/page.tsx 2026-05-19 16:56:22 +00:00
f9b9adcd8a Add src/app/experience/page.tsx 2026-05-19 16:56:22 +00:00
a09932c333 Add src/app/booking/page.tsx 2026-05-19 16:56:21 +00:00
5 changed files with 210 additions and 229 deletions

30
src/app/booking/page.tsx Normal file
View File

@@ -0,0 +1,30 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import ContactCenter from '@/components/sections/contact/ContactCenter';
import React from 'react';
export default function BookingPage() {
return (
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[{ name: "Home", id: "/" }, { name: "Experience", id: "/experience" }, { name: "Menu", id: "/#menu" }, { name: "Book Now", id: "/booking" }]}
brandName="Kyalami Shisanyama"
/>
</div>
<main style={{ paddingTop: '100px' }}>
<div id="contact" data-section="contact">
<ContactCenter
tag="Reserve"
title="Book Your Table"
description="Secure your spot at the most vibrant shisanyama experience in Joburg."
background={{ variant: "plain" }}
useInvertedBackground={false}
/>
</div>
</main>
</ThemeProvider>
);
}

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

@@ -0,0 +1,59 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactSplit from '@/components/sections/contact/ContactSplit';
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
export default function ContactPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="medium"
sizing="medium"
background="noiseDiagonalGradient"
cardStyle="outline"
primaryButtonStyle="double-inset"
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Experience", id: "/experience" },
{ name: "Menu", id: "/menu" },
{ name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "/contact" },
{ name: "Book Now", id: "/booking" }
]}
brandName="Kyalami Shisanyama"
/>
</div>
<div className="pt-32 pb-20">
<ContactSplit
tag="Visit Us"
title="Find Your Way"
description="We are located in the heart of Johannesburg. Use the map below to navigate to our premium shisanyama destination."
background={{ variant: "gradient-bars" }}
useInvertedBackground={false}
imageSrc="https://maps.googleapis.com/maps/api/staticmap?center=Johannesburg,SouthAfrica&zoom=14&size=600x400&markers=color:red%7CJohannesburg,SouthAfrica"
mediaPosition="right"
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Kyalami Shisanyama"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "© 2026 All Rights Reserved", href: "#" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,29 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import TextAbout from '@/components/sections/about/TextAbout';
import React from 'react';
export default function ExperiencePage() {
return (
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[{ name: "Home", id: "/" }, { name: "Experience", id: "/experience" }, { name: "Menu", id: "/#menu" }, { name: "Book Now", id: "/booking" }]}
brandName="Kyalami Shisanyama"
/>
</div>
<main style={{ paddingTop: '100px' }}>
<div id="experience" data-section="experience">
<TextAbout
tag="The Experience"
title="A Lifestyle Beyond Dining"
buttons={[{ text: "Book Now", href: "/booking" }]}
useInvertedBackground={false}
/>
</div>
</main>
</ThemeProvider>
);
}

64
src/app/menu/page.tsx Normal file
View File

@@ -0,0 +1,64 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import ProductCardThree from '@/components/sections/product/ProductCardThree';
export default function MenuPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="medium"
sizing="medium"
background="noiseDiagonalGradient"
cardStyle="outline"
primaryButtonStyle="double-inset"
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "/" },
{ name: "Experience", id: "/experience" },
{ name: "Menu", id: "/menu" },
{ name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "/contact" }
]}
brandName="Kyalami Shisanyama"
/>
</div>
<div id="menu" data-section="menu">
<ProductCardThree
title="Our Full Menu"
description="Premium braai platters, traditional sides, and hand-crafted refreshments."
animationType="slide-up"
textboxLayout="split"
gridVariant="one-large-left-three-stacked-right"
useInvertedBackground={false}
products={[
{ id: "p1", name: "Signature Lamb Platter", price: "R550", imageSrc: "http://img.b2bpic.net/free-photo/person-s-hand-cutting-grilled-beef-steak-chopping-board-with-knife-fork_23-2147840988.jpg?_wi=1" },
{ id: "p2", name: "Shisanyama Mix Grill", price: "R420", imageSrc: "http://img.b2bpic.net/free-photo/sliced-grilled-steak-wooden-board-eggplant-potato-bel-pepper-top-view_141793-4147.jpg?_wi=1" },
{ id: "p3", name: "Grilled Chicken Wings", price: "R180", imageSrc: "http://img.b2bpic.net/free-photo/chicken-barbecue-with-bbq-ranch-tomatoes_114579-2059.jpg?_wi=1" },
{ id: "p4", name: "Traditional Pap & Chakalaka", price: "R95", imageSrc: "http://img.b2bpic.net/free-photo/lamb-steak-with-roasted-grilled-vegetables-black-stone-board_140725-10575.jpg?_wi=1" }
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Kyalami Shisanyama"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "© 2026 All Rights Reserved", href: "#" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -12,7 +12,6 @@ import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/Nav
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
import TextAbout from '@/components/sections/about/TextAbout';
import { Music, Sun } from "lucide-react";
export default function LandingPage() {
return (
@@ -32,22 +31,11 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Experience",
id: "experience",
},
{
name: "Menu",
id: "menu",
},
{
name: "Reviews",
id: "reviews",
},
{
name: "Contact",
id: "contact",
},
{ name: "Experience", id: "/experience" },
{ name: "Menu", id: "/menu" },
{ name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "/contact" },
{ name: "Book Now", id: "/booking" }
]}
brandName="Kyalami Shisanyama"
/>
@@ -55,71 +43,16 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroSplit
background={{
variant: "gradient-bars",
}}
background={{ variant: "gradient-bars" }}
title="Where Great Meat, Music & Energy Meet"
description="A luxurious modern shisanyama experience built for unforgettable Sundays, live DJs, premium braai platters, cocktails, and beautiful moments."
tag="Premium Braai & Lifestyle"
buttons={[
{
text: "Book A Table",
href: "#",
},
{
text: "View Experience",
href: "#experience",
},
{ text: "Book A Table", href: "/booking" },
{ text: "View Experience", href: "/experience" },
]}
imageSrc="http://img.b2bpic.net/free-photo/side-view-cook-removes-from-skewer-tike-kebab-board-with-grilled-chicken-vegetables_141793-3898.jpg"
mediaAnimation="slide-up"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/happy-couple-enjoying-cafe-while-talking-waiter_637285-579.jpg",
alt: "Happy guest 1",
},
{
src: "http://img.b2bpic.net/free-photo/cheerful-couple-talking-while-eating-lunch-restaurant_637285-9017.jpg",
alt: "Happy guest 2",
},
{
src: "http://img.b2bpic.net/free-photo/friends-eating-conversating-restaurant_23-2148006713.jpg",
alt: "Happy guest 3",
},
{
src: "http://img.b2bpic.net/free-photo/medium-shot-couple-having-lunch-luxury-restaurant_23-2150598413.jpg",
alt: "Happy guest 4",
},
{
src: "http://img.b2bpic.net/free-photo/high-angle-friends-with-delicious-cocktails_23-2150244937.jpg",
alt: "Happy guest 5",
},
]}
avatarText="Join 5,000+ satisfied guests"
marqueeItems={[
{
type: "text",
text: "Premium Braai",
},
{
type: "text-icon",
text: "Live DJ",
icon: Music,
},
{
type: "text",
text: "Cocktails",
},
{
type: "text-icon",
text: "Sunday Vibes",
icon: Sun,
},
{
type: "text",
text: "Sophisticated Atmosphere",
},
]}
/>
</div>
@@ -130,26 +63,10 @@ export default function LandingPage() {
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
metrics={[
{
id: "m1",
value: "4.8★",
description: "Customer Rated",
},
{
id: "m2",
value: "Premium",
description: "Atmosphere",
},
{
id: "m3",
value: "Huge",
description: "Portions",
},
{
id: "m4",
value: "All Day",
description: "Vibes",
},
{ id: "m1", value: "4.8★", description: "Customer Rated" },
{ id: "m2", value: "Premium", description: "Atmosphere" },
{ id: "m3", value: "Huge", description: "Portions" },
{ id: "m4", value: "All Day", description: "Vibes" },
]}
title="Why Choose Us"
description="Excellence in every detail."
@@ -170,36 +87,9 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
features={[
{
id: "f1",
label: "Social",
title: "Luxury Outdoor Vibes",
items: [
"Spacious seating",
"Premium umbrellas",
"Social atmosphere",
],
},
{
id: "f2",
label: "Entertainment",
title: "Live DJs & Events",
items: [
"Incredible sound",
"Curated music",
"Celebrity performers",
],
},
{
id: "f3",
label: "Cuisine",
title: "Premium Braai Culture",
items: [
"Massive platters",
"Perfectly grilled",
"Authentic flavour",
],
},
{ id: "f1", label: "Social", title: "Luxury Outdoor Vibes", items: ["Spacious seating", "Premium umbrellas", "Social atmosphere"] },
{ id: "f2", label: "Entertainment", title: "Live DJs & Events", items: ["Incredible sound", "Curated music", "Celebrity performers"] },
{ id: "f3", label: "Cuisine", title: "Premium Braai Culture", items: ["Massive platters", "Perfectly grilled", "Authentic flavour"] },
]}
title="The Kyalami Lifestyle"
description="From live DJs to premium braai, every detail is crafted for your celebration."
@@ -213,42 +103,10 @@ export default function LandingPage() {
gridVariant="four-items-2x2-equal-grid"
useInvertedBackground={false}
products={[
{
id: "p1",
name: "Braai Platter",
price: "R450",
imageSrc: "http://img.b2bpic.net/free-photo/person-s-hand-cutting-grilled-beef-steak-chopping-board-with-knife-fork_23-2147840988.jpg",
},
{
id: "p2",
name: "Braai Mix",
price: "R320",
imageSrc: "http://img.b2bpic.net/free-photo/sliced-grilled-steak-wooden-board-eggplant-potato-bel-pepper-top-view_141793-4147.jpg",
},
{
id: "p3",
name: "Cocktails",
price: "R140",
imageSrc: "http://img.b2bpic.net/free-photo/chicken-barbecue-with-bbq-ranch-tomatoes_114579-2059.jpg",
},
{
id: "p4",
name: "Traditional Buffet",
price: "R250",
imageSrc: "http://img.b2bpic.net/free-photo/lamb-steak-with-roasted-grilled-vegetables-black-stone-board_140725-10575.jpg",
},
{
id: "p5",
name: "Premium Steaks",
price: "R380",
imageSrc: "http://img.b2bpic.net/free-photo/men-cooking-barbecue-outdoors_23-2148733648.jpg",
},
{
id: "p6",
name: "Grilled Wings",
price: "R180",
imageSrc: "http://img.b2bpic.net/free-photo/beef-steak-with-fried-potatoes-mayonnaise-mustard-ketchup_140725-1494.jpg",
},
{ id: "p1", name: "Braai Platter", price: "R450", imageSrc: "http://img.b2bpic.net/free-photo/person-s-hand-cutting-grilled-beef-steak-chopping-board-with-knife-fork_23-2147840988.jpg?_wi=2" },
{ id: "p2", name: "Braai Mix", price: "R320", imageSrc: "http://img.b2bpic.net/free-photo/sliced-grilled-steak-wooden-board-eggplant-potato-bel-pepper-top-view_141793-4147.jpg?_wi=2" },
{ id: "p3", name: "Cocktails", price: "R140", imageSrc: "http://img.b2bpic.net/free-photo/chicken-barbecue-with-bbq-ranch-tomatoes_114579-2059.jpg?_wi=2" },
{ id: "p4", name: "Traditional Buffet", price: "R250", imageSrc: "http://img.b2bpic.net/free-photo/lamb-steak-with-roasted-grilled-vegetables-black-stone-board_140725-10575.jpg?_wi=2" },
]}
title="Signature Favourites"
description="Crafted for sharing, celebrating and satisfying every craving."
@@ -261,46 +119,8 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Nothemba Jozi",
handle: "@nothemba",
testimonial: "The vibe is so great. Best night of my life.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/group-friends-eating-restaurant_23-2148395390.jpg",
},
{
id: "2",
name: "Angel Tshabalala",
handle: "@angel",
testimonial: "Mature crowd, top-notch vibe, great food.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-happy-woman-having-fun-while-eating-dinner-communicating-with-friends-dining-table_637285-3342.jpg",
},
{
id: "3",
name: "I Am Antman",
handle: "@antman",
testimonial: "Huge portions, incredible atmosphere.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/new-year-spend-with-friends-celebrating_23-2149196973.jpg",
},
{
id: "4",
name: "Zumbu II",
handle: "@zumbu",
testimonial: "The service is tops and the place is beautiful.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-young-people-with-reviews_23-2149394417.jpg",
},
{
id: "5",
name: "Anonymous Guest",
handle: "@anonymous",
testimonial: "Absolutely amazing dining experience.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-man-with-crossed-arms_23-2149434503.jpg",
},
{ id: "1", name: "Nothemba Jozi", handle: "@nothemba", testimonial: "The vibe is so great. Best night of my life.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/group-friends-eating-restaurant_23-2148395390.jpg" },
{ id: "2", name: "Angel Tshabalala", handle: "@angel", testimonial: "Mature crowd, top-notch vibe, great food.", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-happy-woman-having-fun-while-eating-dinner-communicating-with-friends-dining-table_637285-3342.jpg" },
]}
showRating={true}
title="What People Love"
@@ -312,21 +132,8 @@ export default function LandingPage() {
<FaqSplitText
useInvertedBackground={false}
faqs={[
{
id: "q1",
title: "Do you need bookings?",
content: "Bookings are recommended for large groups.",
},
{
id: "q2",
title: "Is there parking?",
content: "Yes, we have secure parking.",
},
{
id: "q3",
title: "Are children allowed?",
content: "We are a mature-focused lifestyle venue.",
},
{ id: "q1", title: "Do you need bookings?", content: "Bookings are recommended for large groups." },
{ id: "q2", title: "Is there parking?", content: "Yes, we have secure parking." },
]}
sideTitle="Frequently Asked"
faqsAnimation="slide-up"
@@ -336,29 +143,21 @@ export default function LandingPage() {
<div id="contact" data-section="contact">
<ContactCenter
useInvertedBackground={false}
background={{
variant: "gradient-bars",
}}
background={{ variant: "gradient-bars" }}
tag="Join Us"
title="Come Hungry. Leave Legendary."
description="Reserve your table today."
description="Address: 12 Main St, Kyalami | Phone: +27 11 000 0000 | Email: info@kyalamis.co.za | Hours: Tue-Sun 10am-10pm"
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Kyalami Shisanyama"
leftLink={{
text: "Privacy Policy",
href: "#",
}}
rightLink={{
text: "© 2026 All Rights Reserved",
href: "#",
}}
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "© 2026 All Rights Reserved", href: "#" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}