12 Commits

Author SHA1 Message Date
f2d3a8bf3d Merge version_5 into main
Merge version_5 into main
2026-05-10 19:07:39 +00:00
19dccc1465 Update src/app/page.tsx 2026-05-10 19:07:32 +00:00
c719a13fd7 Merge version_5 into main
Merge version_5 into main
2026-05-10 18:58:15 +00:00
fa37900275 Update src/app/page.tsx 2026-05-10 18:58:12 +00:00
412efd5e36 Merge version_4 into main
Merge version_4 into main
2026-05-10 18:55:21 +00:00
9a9993cd87 Update src/app/page.tsx 2026-05-10 18:55:18 +00:00
c20c6b1943 Merge version_4 into main
Merge version_4 into main
2026-05-10 18:46:04 +00:00
c5613eda6c Update theme colors 2026-05-10 18:46:01 +00:00
103c1ad260 Merge version_3 into main
Merge version_3 into main
2026-05-10 18:46:01 +00:00
95a7de6093 Update theme colors 2026-05-10 18:45:55 +00:00
629c1f02ef Merge version_2 into main
Merge version_2 into main
2026-05-10 18:45:49 +00:00
a87c74e821 Update theme colors 2026-05-10 18:45:46 +00:00
2 changed files with 50 additions and 159 deletions

View File

@@ -32,25 +32,15 @@ export default function LandingPage() {
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
navItems={[ navItems={[
{ {
name: "Home", name: "Home", id: "hero"},
id: "hero",
},
{ {
name: "About", name: "About", id: "about"},
id: "about",
},
{ {
name: "Menu", name: "Menu", id: "products"},
id: "products",
},
{ {
name: "Reviews", name: "Reviews", id: "testimonials"},
id: "testimonials",
},
{ {
name: "Contact", name: "Contact", id: "contact"},
id: "contact",
},
]} ]}
brandName="Jackson and Black" brandName="Jackson and Black"
/> />
@@ -59,31 +49,20 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardGallery <HeroBillboardGallery
background={{ background={{
variant: "radial-gradient", variant: "radial-gradient"}}
}}
title="Experience Paarl's Finest Grill" title="Experience Paarl's Finest Grill"
description="Indulge in an exquisite culinary journey at Jackson and Black, where quality, passion, and flavor meet in the heart of Frater Square." description="Indulge in an exquisite culinary journey at Jackson and Black, where quality, passion, and flavor meet in the heart of Frater Square."
mediaItems={[ mediaItems={[
{ {
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-thanksgiving-meal_23-2148629540.jpg", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DXowF2Y8w4F7O5IyzT3XBVsud0/uploaded-1778438630476-vsufap55.png", imageAlt: "Restaurant ambiance"},
imageAlt: "Restaurant ambiance",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/grilled-pork-ribs-with-bbq-sauce_74190-7662.jpg", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DXowF2Y8w4F7O5IyzT3XBVsud0/uploaded-1778438724980-c7g74zy9.png", imageAlt: "Delicious grilled ribs"},
imageAlt: "Delicious grilled ribs",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/pretty-woman-sits-bar-restaurant_8353-453.jpg", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DXowF2Y8w4F7O5IyzT3XBVsud0/uploaded-1778439028583-m4nlvps7.png", imageAlt: "Bar area"},
imageAlt: "Bar area",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/life-style_1122-1851.jpg", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DXowF2Y8w4F7O5IyzT3XBVsud0/uploaded-1778439277194-qn3bcq1a.png", imageAlt: "Elegant table setting"},
imageAlt: "Elegant table setting",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/serving-table-young-woman-swhite-shirt-putting-plates-table_259150-59713.jpg", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DXowF2Y8w4F7O5IyzT3XBVsud0/uploaded-1778439044083-j541xuyw.png", imageAlt: "Service staff preparing a table"},
imageAlt: "Service staff preparing a table",
},
]} ]}
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
/> />
@@ -110,29 +89,19 @@ export default function LandingPage() {
features={[ features={[
{ {
icon: Flame, icon: Flame,
title: "Fire-Grilled Mastery", title: "Fire-Grilled Mastery", description: "Expertly prepared cuts of meat grilled to perfection on our open flames."},
description: "Expertly prepared cuts of meat grilled to perfection on our open flames.",
},
{ {
icon: Utensils, icon: Utensils,
title: "Seasonal Freshness", title: "Seasonal Freshness", description: "Locally sourced, fresh ingredients used in every dish we serve."},
description: "Locally sourced, fresh ingredients used in every dish we serve.",
},
{ {
icon: MapPin, icon: MapPin,
title: "Sunset Views", title: "Sunset Views", description: "Enjoy the best outdoor seating and sunset views in Paarl at Frater Square."},
description: "Enjoy the best outdoor seating and sunset views in Paarl at Frater Square.",
},
{ {
icon: Wine, icon: Wine,
title: "Curated Wine List", title: "Curated Wine List", description: "Hand-picked local wines paired to elevate every bite."},
description: "Hand-picked local wines paired to elevate every bite.",
},
{ {
icon: Users, icon: Users,
title: "Warm Atmosphere", title: "Warm Atmosphere", description: "Designed for comfort and connection in a timeless setting."},
description: "Designed for comfort and connection in a timeless setting.",
},
]} ]}
title="Why You'll Love Dining With Us" title="Why You'll Love Dining With Us"
description="From our locally sourced ingredients to our attentive service, we ensure an exceptional dining experience." description="From our locally sourced ingredients to our attentive service, we ensure an exceptional dining experience."
@@ -147,41 +116,17 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[
{ {
id: "p1", id: "p1", name: "Signature BBQ Ribs", price: "R 245", imageSrc: "http://img.b2bpic.net/free-photo/hot-grilled-spare-ribs-with-barbecue-sauce-crumpled-paper-top-view-ai-generative_123827-23831.jpg"},
name: "Signature BBQ Ribs",
price: "R 245",
imageSrc: "http://img.b2bpic.net/free-photo/hot-grilled-spare-ribs-with-barbecue-sauce-crumpled-paper-top-view-ai-generative_123827-23831.jpg",
},
{ {
id: "p2", id: "p2", name: "Wagyu Beef Burger", price: "R 185", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-bacon-burger-with-salad_23-2148784486.jpg"},
name: "Wagyu Beef Burger",
price: "R 185",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-bacon-burger-with-salad_23-2148784486.jpg",
},
{ {
id: "p3", id: "p3", name: "Crispy Pork Belly", price: "R 210", imageSrc: "http://img.b2bpic.net/free-photo/hot-grilled-spare-ribs-with-barbecue-sauce-crumpled-paper-top-view-ai-generative_123827-23834.jpg"},
name: "Crispy Pork Belly",
price: "R 210",
imageSrc: "http://img.b2bpic.net/free-photo/hot-grilled-spare-ribs-with-barbecue-sauce-crumpled-paper-top-view-ai-generative_123827-23834.jpg",
},
{ {
id: "p4", id: "p4", name: "Aged Sirloin Steak", price: "R 280", imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seared-duck-breast-with-roasted-vegetables-rich-sauce_84443-72273.jpg"},
name: "Aged Sirloin Steak",
price: "R 280",
imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seared-duck-breast-with-roasted-vegetables-rich-sauce_84443-72273.jpg",
},
{ {
id: "p5", id: "p5", name: "Sweet Potato Fries", price: "R 45", imageSrc: "http://img.b2bpic.net/free-photo/vegetable-salad-lettuce-tomato-cucumber-olives-corns-fried-eggplants-side-view_141793-2493.jpg"},
name: "Sweet Potato Fries",
price: "R 45",
imageSrc: "http://img.b2bpic.net/free-photo/vegetable-salad-lettuce-tomato-cucumber-olives-corns-fried-eggplants-side-view_141793-2493.jpg",
},
{ {
id: "p6", id: "p6", name: "Craft Draught Beer", price: "R 55", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DXowF2Y8w4F7O5IyzT3XBVsud0/uploaded-1778440028708-zw6bzfmk.png"},
name: "Craft Lager",
price: "R 55",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-couple-bar_23-2148111170.jpg",
},
]} ]}
title="Our Signature Menu" title="Our Signature Menu"
description="A curated selection of our most loved dishes, prepared with love and high-quality ingredients." description="A curated selection of our most loved dishes, prepared with love and high-quality ingredients."
@@ -195,25 +140,13 @@ export default function LandingPage() {
tag="Our Growth" tag="Our Growth"
metrics={[ metrics={[
{ {
id: "m1", id: "m1", value: "1,000+", description: "Happy Guests Served"},
value: "1,000+",
description: "Happy Guests Served",
},
{ {
id: "m2", id: "m2", value: "4.6", description: "Star Google Rating"},
value: "4.6",
description: "Star Google Rating",
},
{ {
id: "m3", id: "m3", value: "100%", description: "Fresh Ingredients"},
value: "100%",
description: "Fresh Ingredients",
},
{ {
id: "m4", id: "m4", value: "20", description: "Years of Experience"},
value: "20",
description: "Years of Experience",
},
]} ]}
metricsAnimation="slide-up" metricsAnimation="slide-up"
/> />
@@ -226,40 +159,15 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ {
id: "t1", id: "t1", name: "Marilize De Bruin", handle: "@marilize", testimonial: "Amazing food and service! The team made us feel so special for date night.", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-friends-shaking-hands_23-2148395404.jpg"},
name: "Marilize De Bruin",
handle: "@marilize",
testimonial: "Amazing food and service! The team made us feel so special for date night.",
imageSrc: "http://img.b2bpic.net/free-photo/low-angle-friends-shaking-hands_23-2148395404.jpg",
},
{ {
id: "t2", id: "t2", name: "Nicolaas Bestbier", handle: "@nicolaas", testimonial: "We had the best waiter ever! Attentive, creative, and delicious food.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-young-handsome-man-isolated_273609-36379.jpg"},
name: "Nicolaas Bestbier",
handle: "@nicolaas",
testimonial: "We had the best waiter ever! Attentive, creative, and delicious food.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-young-handsome-man-isolated_273609-36379.jpg",
},
{ {
id: "t3", id: "t3", name: "C Rudolph", handle: "@crudolph", testimonial: "A dinner experience to remember. Definitely recommend booking for sunset views.", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-tanned-student-with-thick-beard-having-good-coffee-lunch-smiling-happily-enjoying-summer-vacations-tropical-country_273609-1756.jpg"},
name: "C Rudolph",
handle: "@crudolph",
testimonial: "A dinner experience to remember. Definitely recommend booking for sunset views.",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-tanned-student-with-thick-beard-having-good-coffee-lunch-smiling-happily-enjoying-summer-vacations-tropical-country_273609-1756.jpg",
},
{ {
id: "t4", id: "t4", name: "Sarah Miller", handle: "@sarahm", testimonial: "The ribs are to die for. Perfectly prepared and excellent portions.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-brunette-woman-drinks-morning-coffee-cafe_613910-12134.jpg"},
name: "Sarah Miller",
handle: "@sarahm",
testimonial: "The ribs are to die for. Perfectly prepared and excellent portions.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-brunette-woman-drinks-morning-coffee-cafe_613910-12134.jpg",
},
{ {
id: "t5", id: "t5", name: "David Khoza", handle: "@dkhoza", testimonial: "Fantastic atmosphere and great value for money. Will definitely come back.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-female-entrepreneur-asian-business-owner-manager-sitting-confident-smiling_1258-199004.jpg"},
name: "David Khoza",
handle: "@dkhoza",
testimonial: "Fantastic atmosphere and great value for money. Will definitely come back.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-female-entrepreneur-asian-business-owner-manager-sitting-confident-smiling_1258-199004.jpg",
},
]} ]}
title="Stories from Our Guests" title="Stories from Our Guests"
description="See why locals and visitors alike make us their go-to dining destination." description="See why locals and visitors alike make us their go-to dining destination."
@@ -270,18 +178,13 @@ export default function LandingPage() {
<ContactText <ContactText
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "sparkles-gradient", variant: "sparkles-gradient"}}
}}
text="Ready for a table? Reserve your experience with us today and savor the flavors of Jackson and Black." text="Ready for a table? Reserve your experience with us today and savor the flavors of Jackson and Black."
buttons={[ buttons={[
{ {
text: "Book a Table", text: "Book a Table", href: "https://dineplan.com"},
href: "https://dineplan.com",
},
{ {
text: "View Full Menu", text: "View Full Menu", href: "https://jacksonandblack.co.za"},
href: "https://jacksonandblack.co.za",
},
]} ]}
/> />
</div> </div>
@@ -291,33 +194,21 @@ export default function LandingPage() {
logoText="Jackson & Black" logoText="Jackson & Black"
columns={[ columns={[
{ {
title: "Restaurant", title: "Restaurant", items: [
items: [
{ {
label: "About Us", label: "About Us", href: "#about"},
href: "#about",
},
{ {
label: "Menu", label: "Menu", href: "#products"},
href: "#products",
},
{ {
label: "Bookings", label: "Bookings", href: "https://dineplan.com"},
href: "https://dineplan.com",
},
], ],
}, },
{ {
title: "Contact", title: "Contact", items: [
items: [
{ {
label: "021 872 9283", label: "021 872 9283", href: "tel:0218729283"},
href: "tel:0218729283",
},
{ {
label: "Frater Square, Paarl", label: "Frater Square, Paarl", href: "#"},
href: "#",
},
], ],
}, },
]} ]}
@@ -327,4 +218,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f5f4ef; --background: #efebe5;
--card: #dad6cd; --card: #f7f2ea;
--foreground: #2a2928; --foreground: #000000;
--primary-cta: #2a2928; --primary-cta: #000000;
--primary-cta-text: #f5f4ef; --primary-cta-text: #efebe5;
--secondary-cta: #ecebea; --secondary-cta: #ffffff;
--secondary-cta-text: #2a2928; --secondary-cta-text: #000000;
--accent: #ffffff; --accent: #ffffff;
--background-accent: #c6b180; --background-accent: #e1b875;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);