18 Commits

Author SHA1 Message Date
f00d765727 Merge version_9 into main
Merge version_9 into main
2026-02-07 18:59:26 +00:00
404a6058c0 Bob AI: Editing section ([data-webild-id="webild-177049065... 2026-02-07 18:58:50 +00:00
f5dba764e5 Merge version_8 into main
Merge version_8 into main
2026-02-07 18:55:57 +00:00
7990d38d6c Bob AI: Can you move the buttons on the hero section to th... 2026-02-07 18:55:23 +00:00
cb8f08ba0a Merge version_7 into main
Merge version_7 into main
2026-02-07 18:53:01 +00:00
7a068e607d Bob AI: Can you make the buttons look more 3d and round th... 2026-02-07 18:52:27 +00:00
e50338a460 Merge version_6 into main
Merge version_6 into main
2026-02-07 18:48:08 +00:00
4908606eef Bob AI: [Block: hero-billboard-carousel|Hero Billboard Car... 2026-02-07 18:47:34 +00:00
e8638d5a37 Merge version_5 into main
Merge version_5 into main
2026-02-07 18:44:39 +00:00
9515459fc5 Bob AI: I don't like that one it doesn't really work well ... 2026-02-07 18:44:05 +00:00
8854f4f0bc Merge version_4 into main
Merge version_4 into main
2026-02-07 18:42:57 +00:00
3c8883cf20 Bob AI: Can you add a ribbon with all the companies that I... 2026-02-07 18:42:23 +00:00
530955a099 Merge version_3 into main
Merge version_3 into main
2026-02-07 18:36:07 +00:00
aa508dcb2b Bob AI: Can you add that we're trusted by over 500 clients 2026-02-07 18:35:33 +00:00
1e87e36a60 Merge version_2 into main
Merge version_2 into main
2026-02-07 17:41:28 +00:00
7a4cfc1830 Bob AI: Can you add a section with the entire menu ? 2026-02-07 17:40:53 +00:00
ed7337070c Merge version_1 into main
Merge version_1 into main
2026-02-07 15:56:57 +00:00
ccc39cf4b4 Merge version_1 into main
Merge version_1 into main
2026-02-07 15:54:46 +00:00
2 changed files with 173 additions and 19 deletions

View File

@@ -10,6 +10,9 @@ import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCar
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import { Award, ChefHat, Users, Sparkles } from "lucide-react";
import ProductCatalog from '@/components/ecommerce/productCatalog/ProductCatalog';
import SplitAbout from '@/components/sections/about/SplitAbout';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
export default function LandingPage() {
return (
@@ -205,6 +208,154 @@ export default function LandingPage() {
/>
</div>
<div id="ecommerce" data-section="ecommerce">
<ProductCatalog
layout="section"
products={[
{
id: "1",
name: "Sushi Platter",
price: 25.00,
imageSrc: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80",
imageAlt: "Sushi Platter",
rating: 4.8,
reviewCount: 120,
category: "Appetizers",
onProductClick: () => {}
},
{
id: "2",
name: "Tempura Assortment",
price: 18.00,
imageSrc: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80",
imageAlt: "Tempura Assortment",
rating: 4.7,
reviewCount: 95,
category: "Appetizers",
onProductClick: () => {}
},
{
id: "3",
name: "Sashimi Selection",
price: 35.00,
imageSrc: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80",
imageAlt: "Sashimi Selection",
rating: 4.9,
reviewCount: 150,
category: "Main Course",
onProductClick: () => {}
}
]}
searchPlaceholder="Search Omakase Niseko menu..."
emptyMessage="No items found in the menu"
className="mt-10"
gridClassName="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6"
cardClassName="bg-white rounded-lg shadow-md overflow-hidden"
imageClassName="w-full h-48 object-cover"
searchClassName="mb-4"
filterClassName="mb-4"
toolbarClassName="mb-4"
/>
</div>
<div id="metric" data-section="metric">
<MetricCardOne
metrics={[
{
id: "1",
value: "500+",
title: "Clients",
description: "Trusted by over 500 satisfied clients",
icon: () => <img src="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80" alt="Clients" className="w-10 h-10" />
},
{
id: "2",
value: "20+",
title: "Years",
description: "Master chef experience in Tokyo's finest restaurants",
icon: () => <img src="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80" alt="Years" className="w-10 h-10" />
},
{
id: "3",
value: "15",
title: "Courses",
description: "Average omakase journey with premium selections",
icon: () => <img src="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80" alt="Courses" className="w-10 h-10" />
},
{
id: "4",
value: "8",
title: "Seats",
description: "Exclusive counter seating for intimate experiences",
icon: () => <img src="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80" alt="Seats" className="w-10 h-10" />
}
]}
title="By The Numbers"
description="Excellence defined by precision and tradition"
gridVariant="uniform-all-items-equal"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground="noInvert"
className="w-full"
valueClassName="text-red-500 text-8xl font-extrabold"
/>
</div>
<div id="about" data-section="about">
<SplitAbout
title="Our Partners"
description="At Omakase Niseko, we collaborate with a select group of companies to bring you the best experience. Here are some of our esteemed partners."
bulletPoints={[
{ title: "Sakura Hospitality", description: "Leading in luxury accommodations and services." },
{ title: "Niseko Lifts", description: "Providing reliable and efficient ski lift services." },
{ title: "Yukiguni Cuisine", description: "Specializing in traditional Japanese cuisine with a modern twist." },
{ title: "Niseko Outdoor Adventures", description: "Offering a wide range of outdoor activities and tours." }
]}
imageSrc="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80"
imageAlt="Partnership ribbon with Omakase Niseko"
imagePosition="left"
textboxLayout="stacked"
useInvertedBackground="never"
/>
</div>
<div id="about" data-section="about">
<SplitAbout
title="Why Choose Omakase Niseko?"
description="Experience the essence of Japanese cuisine in the heart of Niseko. Here's why we stand out."
bulletPoints={[
{ title: "Seasonal Ingredients", description: "Using the freshest, locally-sourced ingredients to create each dish." },
{ title: "Master Chefs", description: "Crafting meals with precision and passion, led by our expert chefs." },
{ title: "Warm Ambiance", description: "Enjoy a cozy and inviting atmosphere that enhances your dining experience." },
{ title: "Exclusive Events", description: "Participate in special events and private dining experiences." }
]}
imageSrc="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80"
imageAlt="Chef preparing a dish in a traditional Japanese kitchen"
imagePosition="right"
textboxLayout="stacked"
useInvertedBackground="never"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardCarousel
title="Discover Omakase Niseko"
description="Experience the ultimate in Japanese dining with our exclusive Omakase menu. Each dish is a masterpiece crafted by our skilled chefs."
background={{ variant: "downward-rays-animated" }}
tag="Exclusive"
buttons={[
{ label: "Book Now", href: "/book", variant: "primary" },
{ label: "Learn More", href: "/about", variant: "secondary" }
]}
mediaItems={[
{ imageSrc: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80", imageAlt: "Omakase Niseko Dining Experience" },
{ imageSrc: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80", imageAlt: "Omakase Niseko Chef Preparing Dish" },
{ imageSrc: "https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800&q=80", imageAlt: "Omakase Niseko Customer Enjoying Meal" }
]}
ariaLabel="Hero section showcasing Omakase Niseko dining experience"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
columns={[

View File

@@ -101,27 +101,30 @@ const HeroBillboardCarousel = ({
<HeroBackgrounds {...background} />
<div className={cls(
"mx-auto flex flex-col gap-14 md:gap-10 relative z-10",
"w-full md:w-content-width md:h-full md:items-center md:justify-center",
"w-full md:w-content-width md:h-full md:items-start md:justify-center",
containerClassName
)}>
<TextBox
title={title}
description={description}
tag={tag}
tagIcon={tagIcon}
buttons={buttons}
className={cls(
"flex flex-col gap-3 md:gap-1 w-content-width mx-auto",
textBoxClassName
)}
titleClassName={cls("text-6xl font-medium text-balance", titleClassName)}
descriptionClassName={cls("text-base md:text-lg leading-[1.2]", descriptionClassName)}
tagClassName={cls("px-3 py-1 text-sm rounded-theme card text-foreground inline-flex items-center gap-2 mb-3", tagClassName)}
buttonContainerClassName={cls("flex flex-wrap gap-4 mt-3", buttonContainerClassName)}
buttonClassName={buttonClassName}
buttonTextClassName={buttonTextClassName}
center={true}
/>
<div className="flex flex-col md:flex-row md:items-start md:justify-between">
<TextBox
title={title}
description={description}
tag={tag}
tagIcon={tagIcon}
buttons={buttons}
className={cls(
"flex flex-col gap-3 md:gap-1 w-content-width",
textBoxClassName
)}
titleClassName={cls("text-6xl font-medium text-balance", titleClassName)}
descriptionClassName={cls("text-base md:text-lg leading-[1.2]", descriptionClassName)}
tagClassName={cls("px-3 py-1 text-sm rounded-theme card text-foreground inline-flex items-center gap-2 mb-3", tagClassName)}
buttonContainerClassName={cls("flex flex-wrap gap-4 mt-3", buttonContainerClassName)}
buttonClassName={cls("rounded-full shadow-3d", buttonClassName)}
buttonTextClassName={buttonTextClassName}
center={false}
/>
<h2 className="mt-10 md:mt-0">Hero Section Title</h2>
</div>
<div className={cls("w-full -mx-[var(--content-padding)]", mediaWrapperClassName)}>
<AutoCarousel