22 Commits

Author SHA1 Message Date
aa80ec8442 Merge version_5 into main
Merge version_5 into main
2026-04-17 06:43:31 +00:00
ae5278da87 Update src/app/page.tsx 2026-04-17 06:43:28 +00:00
038cfec09c Merge version_5 into main
Merge version_5 into main
2026-04-17 06:43:07 +00:00
f9114b63a8 Update src/app/page.tsx 2026-04-17 06:43:01 +00:00
fad0e0d27b Merge version_5 into main
Merge version_5 into main
2026-04-17 06:42:35 +00:00
cb1d5587b9 Update src/app/page.tsx 2026-04-17 06:42:29 +00:00
a0060fb654 Merge version_4 into main
Merge version_4 into main
2026-04-17 06:37:50 +00:00
94485e2b2c Update src/app/page.tsx 2026-04-17 06:37:44 +00:00
7f69f2462c Merge version_3 into main
Merge version_3 into main
2026-04-17 06:37:27 +00:00
c6582f2b1e Update theme fonts 2026-04-17 06:37:24 +00:00
e449c89631 Update theme fonts 2026-04-17 06:37:24 +00:00
969a66088b Merge version_3 into main
Merge version_3 into main
2026-04-17 06:37:23 +00:00
ca593240e2 Update theme fonts 2026-04-17 06:37:20 +00:00
f72532fe09 Merge version_3 into main
Merge version_3 into main
2026-04-17 06:37:19 +00:00
3d91ed9bbc Update theme fonts 2026-04-17 06:37:19 +00:00
dcf001740d Update theme fonts 2026-04-17 06:37:16 +00:00
bdc82b62ce Update theme fonts 2026-04-17 06:37:16 +00:00
b52b717dab Merge version_3 into main
Merge version_3 into main
2026-04-17 06:37:11 +00:00
612963993a Update theme colors 2026-04-17 06:37:08 +00:00
34edcfa56d Merge version_2 into main
Merge version_2 into main
2026-04-17 06:34:17 +00:00
fc1f96a696 Update theme colors 2026-04-17 06:34:11 +00:00
93f6663b77 Merge version_1 into main
Merge version_1 into main
2026-04-17 06:31:22 +00:00
4 changed files with 73 additions and 142 deletions

View File

@@ -7,6 +7,9 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { DM_Sans } from "next/font/google";
import { Open_Sans } from "next/font/google";
import { Manrope } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
@@ -21,8 +24,16 @@ export const metadata: Metadata = {
},
};
const dmSans = DM_Sans({
variable: "--font-dm-sans",
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville",
subsets: ["latin"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
@@ -34,7 +45,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${dmSans.variable} antialiased`}>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -4,12 +4,11 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
import FeatureCardNine from '@/components/sections/feature/FeatureCardNine';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroCarouselLogo from '@/components/sections/hero/heroCarouselLogo/HeroCarouselLogo';
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import { Calendar, Flame, Layers } from "lucide-react";
@@ -31,44 +30,34 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{
name: "About", id: "about"},
{
name: "Menu", id: "menu"},
{
name: "Experiences", id: "features"},
{
name: "Contact", id: "contact"},
{ name: "About", id: "about" },
{ name: "Menu", id: "menu" },
{ name: "Experiences", id: "features" },
{ name: "Innovation", id: "feature-nine" },
{ name: "Contact", id: "contact" },
]}
brandName="SAVOUR"
button={{
text: "Reserve", href: "#contact"}}
text: "Reserve", href: "#contact" }}
/>
</div>
<div id="hero" data-section="hero">
<HeroCarouselLogo
logoText="SAVOUR"
<HeroBillboardRotatedCarousel
title="SAVOUR"
description="Culinary Excellence Redefined. Experience the future of fine dining in Jakarta with award-winning fusion cuisine and AI-powered recommendations."
background={{ variant: "sparkles-gradient" }}
buttons={[
{
text: "Reserve Now", href: "#contact"},
{
text: "Explore Menu", href: "#menu"},
{ text: "Reserve Now", href: "#contact" },
{ text: "Explore Menu", href: "#menu" },
]}
slides={[
{
imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seafood-dish-with-white-wine_84443-82012.jpg", imageAlt: "Culinary Art"},
{
imageSrc: "http://img.b2bpic.net/free-photo/home-interior-decorated-brown-shades_23-2151934914.jpg", imageAlt: "Luxury Interior"},
{
imageSrc: "http://img.b2bpic.net/free-photo/top-view-dining-tables-without-food_23-2150157792.jpg", imageAlt: "Wine Pairing"},
{
imageSrc: "http://img.b2bpic.net/free-photo/top-view-detox-drink-arrangement_23-2148683595.jpg", imageAlt: "Plating Detail"},
{
imageSrc: "http://img.b2bpic.net/free-photo/living-room-with-large-blue-sofa-large-coffee-table-with-large-window-that-says-room-is-decorated-with-large-plant_123827-23873.jpg", imageAlt: "Signature Cocktails"},
{
imageSrc: "http://img.b2bpic.net/free-photo/belgian-waffle-with-vanilla-ice-cream-golden-chocolate_114579-1928.jpg", imageAlt: "Gourmet Dish"},
carouselItems={[
{ id: "1", imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seafood-dish-with-white-wine_84443-82012.jpg?_wi=1", imageAlt: "Culinary Art" },
{ id: "2", imageSrc: "http://img.b2bpic.net/free-photo/home-interior-decorated-brown-shades_23-2151934914.jpg", imageAlt: "Luxury Interior" },
{ id: "3", imageSrc: "http://img.b2bpic.net/free-photo/top-view-dining-tables-without-food_23-2150157792.jpg", imageAlt: "Wine Pairing" },
{ id: "4", imageSrc: "http://img.b2bpic.net/free-photo/top-view-detox-drink-arrangement_23-2148683595.jpg", imageAlt: "Plating Detail" },
{ id: "5", imageSrc: "http://img.b2bpic.net/free-photo/living-room-with-large-blue-sofa-large-coffee-table-with-large-window-that-says-room-is-decorated-with-large-plant_123827-23873.jpg", imageAlt: "Signature Cocktails" },
{ id: "6", imageSrc: "http://img.b2bpic.net/free-photo/belgian-waffle-with-vanilla-ice-cream-golden-chocolate_114579-1928.jpg", imageAlt: "Gourmet Dish" },
]}
/>
</div>
@@ -78,7 +67,8 @@ export default function LandingPage() {
useInvertedBackground={false}
title="Our Philosophy"
description={[
"SAVOUR is an award-winning fine dining destination that harmonizes traditional French techniques with the vibrant, bold flavors of Indonesia.", "Our mission is to create a symphony of taste on every plate, engaging all senses in a refined atmosphere crafted for true culinary enthusiasts."]}
"SAVOUR is an award-winning fine dining destination that harmonizes traditional French techniques with the vibrant, bold flavors of Indonesia.", "Our mission is to create a symphony of taste on every plate, engaging all senses in a refined atmosphere crafted for true culinary enthusiasts."
]}
/>
</div>
@@ -88,21 +78,30 @@ export default function LandingPage() {
textboxLayout="split"
useInvertedBackground={false}
features={[
{
icon: Flame,
title: "AI Menu Intelligence", description: "Personalized menu recommendations tailored to your unique palate profile."},
{
icon: Calendar,
title: "Real-time Reservations", description: "Seamless, instant booking experience at your fingertips, anytime."},
{
icon: Layers,
title: "Immersive Experience", description: "Atmospheric 3D dining environments with dynamic ambiance adjustments."},
{ icon: Flame, title: "AI Menu Intelligence", description: "Personalized menu recommendations tailored to your unique palate profile." },
{ icon: Calendar, title: "Real-time Reservations", description: "Seamless, instant booking experience at your fingertips, anytime." },
{ icon: Layers, title: "Immersive Experience", description: "Atmospheric 3D dining environments with dynamic ambiance adjustments." },
]}
title="The Future of Dining"
description="Innovative technology meets traditional culinary craft to elevate your dining experience to new heights."
/>
</div>
<div id="feature-nine" data-section="feature-nine">
<FeatureCardNine
showStepNumbers={true}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
title="Our Process"
description="Discover the meticulous steps we take to craft your perfect dining experience."
features={[
{ title: "Reserve", description: "Select your preferred date and time online.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seafood-dish-with-white-wine_84443-82012.jpg?_wi=2" }, phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seafood-dish-with-white-wine_84443-82012.jpg?_wi=3" } },
{ title: "Customize", description: "Personalize your menu with AI-driven suggestions.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seafood-dish-with-white-wine_84443-82012.jpg?_wi=4" }, phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/gourmet-seafood-dish-with-white-wine_84443-82012.jpg?_wi=5" } },
]}
/>
</div>
<div id="menu" data-section="menu">
<ProductCardOne
animationType="slide-up"
@@ -110,86 +109,25 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
products={[
{
id: "p1", name: "Wagyu A5 Tartare", price: "IDR 350,000", imageSrc: "http://img.b2bpic.net/free-photo/soft-cake-decorated-with-orangeand-chocolate-dark-table_140725-86366.jpg"},
{
id: "p2", name: "Lobster Thermidor", price: "IDR 550,000", imageSrc: "http://img.b2bpic.net/free-photo/top-view-wedding-table-arrangement_23-2150279481.jpg"},
{
id: "p3", name: "Duck Confit", price: "IDR 320,000", imageSrc: "http://img.b2bpic.net/free-photo/shrimp-plate-garnished-with-sauce-bread-stuffing-spinach-shredded-carrot_141793-2275.jpg"},
{
id: "p4", name: "Truffle Arancini", price: "IDR 120,000", imageSrc: "http://img.b2bpic.net/free-photo/close-up-fork-with-wedding-rings_23-2148242381.jpg"},
{
id: "p5", name: "Chocolate Sphere", price: "IDR 180,000", imageSrc: "http://img.b2bpic.net/free-photo/cocktail-served-crystal-glass_140725-7809.jpg"},
{
id: "p6", name: "Beef Wellington", price: "IDR 480,000", imageSrc: "http://img.b2bpic.net/free-photo/boiled-coffee-cups-sweets_140725-3711.jpg"},
{ id: "p1", name: "Wagyu A5 Tartare", price: "IDR 350,000", imageSrc: "http://img.b2bpic.net/free-photo/soft-cake-decorated-with-orangeand-chocolate-dark-table_140725-86366.jpg" },
{ id: "p2", name: "Lobster Thermidor", price: "IDR 550,000", imageSrc: "http://img.b2bpic.net/free-photo/top-view-wedding-table-arrangement_23-2150279481.jpg" },
{ id: "p3", name: "Duck Confit", price: "IDR 320,000", imageSrc: "http://img.b2bpic.net/free-photo/shrimp-plate-garnished-with-sauce-bread-stuffing-spinach-shredded-carrot_141793-2275.jpg" },
]}
title="Seasonal Curated Menu"
description="Experience hand-selected dishes crafted by our award-winning culinary team."
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTwo
animationType="depth-3d"
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{
id: "1", name: "Michael Chen", role: "Food Critic", testimonial: "Absolutely incredible experience! The wagyu tartare was absolute perfection.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-funny-pin-up-woman-holding-cake-hands_176420-3320.jpg"},
{
id: "2", name: "Sarah Johnson", role: "Culinary Blogger", testimonial: "The best fine dining in Jakarta. The service and atmosphere were unmatched.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-brunettte-woman-chef-cooking-carrot-cake-making-fish-face-with-mouth-squinting-eyes-crazy-comical_839833-19935.jpg"},
{
id: "3", name: "James Wilson", role: "Business Executive", testimonial: "A symphony of taste and elegance. Highly recommend the fusion menu.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-man-luxury-restaurant_23-2150598346.jpg"},
{
id: "4", name: "Elena Rodriguez", role: "Art Collector", testimonial: "Art on a plate. Truly an unforgettable night of high-end gastronomy.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-couple-having-lunch-luxury-restaurant_23-2150598345.jpg"},
{
id: "5", name: "David Kim", role: "Gourmet Traveler", testimonial: "SAVOUR sets a new global standard for modern, intelligent fine dining.", imageSrc: "http://img.b2bpic.net/free-photo/classic-luxury-style-restaurant-with-tables-chairs_140725-9390.jpg"},
]}
title="Guest Testimonials"
description="What our esteemed guests are saying about their journey at SAVOUR."
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardSeven
animationType="depth-3d"
textboxLayout="default"
useInvertedBackground={false}
metrics={[
{
id: "m1", value: "15+", title: "Years of Excellence", items: [
"Established 2009", "Global standard"],
},
{
id: "m2", value: "25+", title: "Culinary Awards", items: [
"Best Fine Dining 2024", "Excellence in Service"],
},
{
id: "m3", value: "100%", title: "Customer Satisfaction", items: [
"Curated experience", "Personalized service"],
},
]}
title="Culinary Achievements"
description="Recognized for consistent innovation and service excellence globally."
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
useInvertedBackground={false}
title="Reservations"
description="Secure your table for an extraordinary culinary journey at SAVOUR."
inputs={[
{
name: "name", type: "text", placeholder: "Full Name", required: true,
},
{
name: "email", type: "email", placeholder: "Email Address", required: true,
},
{ name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true },
]}
textarea={{
name: "message", placeholder: "Special requests or reservation notes...", rows: 4,
}}
textarea={{ name: "message", placeholder: "Special requests or reservation notes...", rows: 4 }}
imageSrc="http://img.b2bpic.net/free-photo/beautiful-castle-architecture_23-2150754910.jpg"
/>
</div>
@@ -197,26 +135,8 @@ export default function LandingPage() {
<div id="footer" data-section="footer">
<FooterLogoEmphasis
columns={[
{
items: [
{
label: "About", href: "#about"},
{
label: "Menu", href: "#menu"},
{
label: "Reservations", href: "#contact"},
],
},
{
items: [
{
label: "Privacy", href: "#"},
{
label: "Terms", href: "#"},
{
label: "Careers", href: "#"},
],
},
{ items: [{ label: "About", href: "#about" }, { label: "Menu", href: "#menu" }, { label: "Reservations", href: "#contact" }] },
{ items: [{ label: "Privacy", href: "#" }, { label: "Terms", href: "#" }, { label: "Careers", href: "#" }] },
]}
logoText="SAVOUR"
/>

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-dm-sans), sans-serif;
font-family: var(--font-inter), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-dm-sans), sans-serif;
font-family: var(--font-libre-baskerville), serif;
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #000000;
--card: #1a1a1a;
--foreground: #f5f5f5;
--primary-cta: #ff0000;
--primary-cta-text: #ffffff;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #ffffff;
--accent: #991b1b;
--background-accent: #7f1d1d;
--background: #f5f5f5;
--card: #ffffff;
--foreground: #1c1c1c;
--primary-cta: #511f1f;
--primary-cta-text: #f5f5f5;
--secondary-cta: #ffffff;
--secondary-cta-text: #1c1c1c;
--accent: #e63946;
--background-accent: #e8bea8;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);