Merge version_2 into main
Merge version_2 into main
This commit was merged in pull request #1.
This commit is contained in:
@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
import { Libre_Baskerville } from "next/font/google";
|
||||
import { Amiri, Lora } from "next/font/google";
|
||||
|
||||
|
||||
|
||||
@@ -24,15 +25,9 @@ export const metadata: Metadata = {
|
||||
},
|
||||
};
|
||||
|
||||
const libreBaskerville = Libre_Baskerville({
|
||||
variable: "--font-libre-baskerville",
|
||||
subsets: ["latin"],
|
||||
weight: ["400", "700"],
|
||||
});
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
const amiri = Amiri({ variable: "--font-amiri", subsets: ["latin"], weight: ["400", "700"] });
|
||||
const lora = Lora({ variable: "--font-lora", subsets: ["latin"] });
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
@@ -42,7 +37,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
|
||||
<body className={`${amiri.variable} ${lora.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
273
src/app/page.tsx
273
src/app/page.tsx
@@ -11,7 +11,7 @@ import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleAp
|
||||
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
||||
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
|
||||
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
|
||||
import { Coffee, Leaf } from "lucide-react";
|
||||
import { Coffee, Leaf, MapPin, Phone, Mail } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -31,22 +31,11 @@ export default function LandingPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "home",
|
||||
},
|
||||
{
|
||||
name: "About",
|
||||
id: "about",
|
||||
},
|
||||
{
|
||||
name: "Menu",
|
||||
id: "products",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "contact",
|
||||
},
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Menu", id: "products" },
|
||||
{ name: "Gallery", id: "testimonials" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
brandName="Salon de Thé Bouchaib"
|
||||
/>
|
||||
@@ -55,213 +44,39 @@ export default function LandingPage() {
|
||||
<div id="home" data-section="home">
|
||||
<HeroSplitTestimonial
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "plain",
|
||||
}}
|
||||
title="The Art of Moroccan Tea"
|
||||
description="Experience tradition in every pour. Salon de Thé Bouchaib invites you to a haven of serenity where authentic flavors meet timeless hospitality."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Amira H.",
|
||||
handle: "@amirah",
|
||||
testimonial: "The best mint tea in the city. Truly authentic.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5917.jpg",
|
||||
imageAlt: "Customer Portrait 1",
|
||||
},
|
||||
{
|
||||
name: "Omar K.",
|
||||
handle: "@omark",
|
||||
testimonial: "A peaceful escape from the busy streets.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-blond-young-lifestyle-blogger-woman-records-video-her-talking-about-life-beauty_1258-281605.jpg",
|
||||
imageAlt: "Customer Portrait 2",
|
||||
},
|
||||
{
|
||||
name: "Sofia L.",
|
||||
handle: "@sofial",
|
||||
testimonial: "The pastries are as exquisite as the tea.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-woman-sitting-with-coffee-cup_23-2148095735.jpg",
|
||||
imageAlt: "Customer Portrait 3",
|
||||
},
|
||||
{
|
||||
name: "Karim J.",
|
||||
handle: "@karimj",
|
||||
testimonial: "An absolute jewel for lovers of quality tea.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-mornings-portrait-happy-brunette-woman-drinks-cup-coffee-her-kitchen-smiling-cozy_1258-199652.jpg",
|
||||
imageAlt: "Customer Portrait 4",
|
||||
},
|
||||
{
|
||||
name: "Layla F.",
|
||||
handle: "@laylaf",
|
||||
testimonial: "Incredible service and a very calming vibe.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-friends-with-drinks-indoors_23-2149860535.jpg",
|
||||
imageAlt: "Customer Portrait 5",
|
||||
},
|
||||
]}
|
||||
background={{ variant: "plain" }}
|
||||
title="Salon de Thé Bouchaib"
|
||||
description="A timeless sanctuary in Algiers, where the rich aroma of traditional Moroccan tea meets the refined grace of Oriental hospitality."
|
||||
tag="Established Tradition"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/tray-moorish-tea-with-grapes_23-2148193482.jpg"
|
||||
imageAlt="Salon de Thé Bouchaib Atmosphere"
|
||||
imageAlt="Traditional tea setting"
|
||||
mediaAnimation="blur-reveal"
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/tea-set-with-baklava-jams-dried-fruits_140725-8096.jpg",
|
||||
alt: "User 1",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/view-traditional-tea-set-table-marrakech_268835-3981.jpg",
|
||||
alt: "User 2",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/tea-black-tea-with-teapot-turkish-delight-tray_140725-11017.jpg",
|
||||
alt: "User 3",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/top-view-mix-tea-set-two-persons-with-samovar-teapot-sweets-table_141793-4090.jpg",
|
||||
alt: "User 4",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/fresh-fragrant-tea-teapot-organic-lemon_114579-88609.jpg",
|
||||
alt: "User 5",
|
||||
},
|
||||
]}
|
||||
marqueeItems={[
|
||||
{
|
||||
type: "text",
|
||||
text: "Organic Ingredients",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Authentic Brewing",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Traditional Hospitality",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Artisan Pastries",
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
text: "Serene Atmosphere",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<TextSplitAbout
|
||||
useInvertedBackground={false}
|
||||
title="A Legacy of Hospitality"
|
||||
title="Our Heritage"
|
||||
description={[
|
||||
"For generations, we have perfected the art of serving premium tea in the heart of our community.",
|
||||
"Salon de Thé Bouchaib is more than a café; it is a gathering place where history and flavor converge in a welcoming, elegant environment.",
|
||||
"In the vibrant heart of Algiers, Salon de Thé Bouchaib stands as a bridge between tradition and elegance.", "Drawing inspiration from our rich heritage, we serve carefully selected teas and artisanal pastries in a refined, warm environment adorned with subtle geometric patterns."
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<FeatureBorderGlow
|
||||
animationType="slide-up"
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={false}
|
||||
features={[
|
||||
{
|
||||
icon: Leaf,
|
||||
title: "Organic Selection",
|
||||
description: "We source only the finest organic tea leaves and herbs.",
|
||||
},
|
||||
{
|
||||
icon: Coffee,
|
||||
title: "Traditional Brewing",
|
||||
description: "Authentic recipes preserved through generations of family tradition.",
|
||||
},
|
||||
{
|
||||
icon: Coffee,
|
||||
title: "Serene Ambiance",
|
||||
description: "Designed for relaxation, comfort, and meaningful conversation.",
|
||||
},
|
||||
]}
|
||||
title="Our Signature Values"
|
||||
description="Discover what makes every moment at Salon de Thé Bouchaib exceptional."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardOne
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Signature Mint Tea",
|
||||
price: "4.50 €",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cup-tea-with-kettle-dark-floor_140725-73269.jpg",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
name: "Traditional Pastries",
|
||||
price: "3.00 €",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-chocolate-cakes-inside-plate-with-blue-birthday-cake-pink-desk_140725-25401.jpg",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
name: "Specialty Tagine",
|
||||
price: "12.00 €",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-furnace-table_140725-7302.jpg",
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
name: "Seasonal Fruit Bowl",
|
||||
price: "6.00 €",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fruits_23-2148125122.jpg",
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
name: "Breakfast Msemmen",
|
||||
price: "5.50 €",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/caucasian-qutab-kutab-gozleme-served-with-sumakh-herbs-yogurt_114579-726.jpg",
|
||||
},
|
||||
{
|
||||
id: "6",
|
||||
name: "Floral Infusion",
|
||||
price: "4.00 €",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/glass-tea-pot-full-with-freshly-brewed-tea-grey-wall_114579-64636.jpg",
|
||||
},
|
||||
]}
|
||||
title="Our Menu"
|
||||
description="Indulge in our carefully curated selection of traditional delicacies and infusions."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardFourteen
|
||||
useInvertedBackground={false}
|
||||
title="Our Community Impact"
|
||||
tag="Milestones"
|
||||
metrics={[
|
||||
{
|
||||
id: "m1",
|
||||
value: "15K+",
|
||||
description: "Happy Guests Served",
|
||||
},
|
||||
{
|
||||
id: "m2",
|
||||
value: "20",
|
||||
description: "Years of Heritage",
|
||||
},
|
||||
{
|
||||
id: "m3",
|
||||
value: "50+",
|
||||
description: "Original Recipes",
|
||||
},
|
||||
description="Discover our delicate infusions and traditional sweets, handcrafted with authentic recipes."
|
||||
products={[
|
||||
{ id: "1", name: "Signature Mint Tea", price: "450 DZD", imageSrc: "http://img.b2bpic.net/free-photo/top-view-cup-tea-with-kettle-dark-floor_140725-73269.jpg" },
|
||||
{ id: "2", name: "Traditional Pastries", price: "300 DZD", imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-chocolate-cakes-inside-plate-with-blue-birthday-cake-pink-desk_140725-25401.jpg" },
|
||||
{ id: "3", name: "Royal Spice Latte", price: "500 DZD", imageSrc: "http://img.b2bpic.net/free-photo/glass-tea-pot-full-with-freshly-brewed-tea-grey-wall_114579-64636.jpg" }
|
||||
]}
|
||||
metricsAnimation="blur-reveal"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -270,57 +85,21 @@ export default function LandingPage() {
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
title="Gallery & Guest Memories"
|
||||
description="Capturing the moments of serenity and joy in our salon."
|
||||
testimonials={[
|
||||
{
|
||||
id: "t1",
|
||||
name: "Fatima Z.",
|
||||
role: "Regular Guest",
|
||||
testimonial: "Every visit feels like home. The attention to detail in their tea service is unmatched.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/indoor-shot-smiling-pretty-woman-having-cup-coffee-kitchen-standing-with-pleasant-smile-enjoying-hot-tea-morning-after-breakfast-looking-camera-with-positive_176532-15759.jpg",
|
||||
},
|
||||
{
|
||||
id: "t2",
|
||||
name: "Marc D.",
|
||||
role: "Tea Aficionado",
|
||||
testimonial: "The atmosphere combined with authentic tea varieties makes this my favorite spot in the city.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/women-eating-drinking-cafe_23-2147785406.jpg",
|
||||
},
|
||||
{
|
||||
id: "t3",
|
||||
name: "Hassan M.",
|
||||
role: "Frequent Visitor",
|
||||
testimonial: "Excellent service and consistently delicious pastries. Highly recommend the mint tea.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/festive-woman-talking-video-call-conference-with-family_482257-19495.jpg",
|
||||
},
|
||||
{
|
||||
id: "t4",
|
||||
name: "Layla K.",
|
||||
role: "Casual Visitor",
|
||||
testimonial: "A beautiful, serene place for a quiet afternoon. The decor is stunning.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/girl-with-mobile-phone-sitting-orange-couch_1157-1067.jpg",
|
||||
},
|
||||
{
|
||||
id: "t5",
|
||||
name: "Jad R.",
|
||||
role: "Local Business Owner",
|
||||
testimonial: "I hold my meetings here. It’s the perfect blend of professional and cozy.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-barista-with-coffee_23-2148436155.jpg",
|
||||
},
|
||||
{ id: "t1", name: "Amine D.", role: "Local Resident", testimonial: "A truly refined experience, reminiscent of the best tea salons in the region." },
|
||||
{ id: "t2", name: "Sarah K.", role: "Visiting Guest", testimonial: "The golden interior and traditional tea set made my visit to Algiers unforgettable." }
|
||||
]}
|
||||
title="Voices of Our Guests"
|
||||
description="What our wonderful community says about their experience at Bouchaib."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactCenter
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "plain",
|
||||
}}
|
||||
tag="Newsletter"
|
||||
title="Stay Connected"
|
||||
description="Sign up for our newsletter to receive updates on new seasonal menu items and special events."
|
||||
background={{ variant: "plain" }}
|
||||
title="Visit Us"
|
||||
description="Located in the heart of Algiers. Join us for a moment of quiet reflection and fine tea."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -333,4 +112,4 @@ export default function LandingPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-inter), sans-serif;
|
||||
font-family: var(--font-amiri), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-libre-baskerville), serif;
|
||||
font-family: var(--font-amiri), serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f5f4ef;
|
||||
--card: #dad6cd;
|
||||
--foreground: #2a2928;
|
||||
--primary-cta: #2a2928;
|
||||
--background: #FDFBF7;
|
||||
--card: #F5EFE1;
|
||||
--foreground: #4A1010;
|
||||
--primary-cta: #B8860B;
|
||||
--primary-cta-text: #f5f4ef;
|
||||
--secondary-cta: #ecebea;
|
||||
--secondary-cta: #4A1010;
|
||||
--secondary-cta-text: #2a2928;
|
||||
--accent: #ffffff;
|
||||
--background-accent: #c6b180;
|
||||
--accent: #B8860B;
|
||||
--background-accent: #FDFBF7;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user