11 Commits

Author SHA1 Message Date
3813c50b66 Merge version_4 into main
Merge version_4 into main
2026-05-22 21:06:31 +00:00
70703d30c9 Update src/app/page.tsx 2026-05-22 21:06:28 +00:00
8a1c82d1de Merge version_3 into main
Merge version_3 into main
2026-05-22 21:05:03 +00:00
ea8b522bce Update src/app/page.tsx 2026-05-22 21:05:00 +00:00
0dd94e5a50 Merge version_2 into main
Merge version_2 into main
2026-05-22 21:03:57 +00:00
4335a226f1 Update src/app/page.tsx 2026-05-22 21:03:54 +00:00
67a65d36a6 Merge version_2 into main
Merge version_2 into main
2026-05-22 21:03:31 +00:00
ef1cf7810e Update src/app/styles/variables.css 2026-05-22 21:03:28 +00:00
5903b0dfc3 Update src/app/styles/base.css 2026-05-22 21:03:28 +00:00
476283ce7d Update src/app/page.tsx 2026-05-22 21:03:27 +00:00
1a324c3c4b Update src/app/layout.tsx 2026-05-22 21:03:27 +00:00
4 changed files with 51 additions and 277 deletions

View File

@@ -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

View File

@@ -3,15 +3,12 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
import FooterCard from '@/components/sections/footer/FooterCard';
import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroLogoBillboard from '@/components/sections/hero/HeroLogoBillboard';
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 NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
export default function LandingPage() {
return (
@@ -31,237 +28,50 @@ 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: "Accueil", id: "home" },
{ name: "À propos", id: "about" },
{ name: "Menu", id: "products" },
{ name: "Galerie", id: "testimonials" },
{ name: "Contact", id: "contact" },
]}
brandName="Salon de Thé Bouchaib"
/>
</div>
<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",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/tray-moorish-tea-with-grapes_23-2148193482.jpg"
imageAlt="Salon de Thé Bouchaib Atmosphere"
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",
},
]}
<HeroLogoBillboard
logoText="Salon de Thé Bouchaib"
description="Un sanctuaire intemporel à Alger, où les arômes riches du thé traditionnel marocain rencontrent la grâce raffinée de l'hospitalité orientale."
buttons={[{ text: "Découvrir", href: "#products" }]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3E603bEAidbSl8SfiTTqAsuP6gU/uploaded-1779483978108-2jwcfx2e.jpg"
imageAlt="Salon de Thé Bouchaib Logo"
background={{ variant: "plain" }}
/>
</div>
<div id="about" data-section="about">
<TextSplitAbout
useInvertedBackground={false}
title="A Legacy of Hospitality"
title="Notre Héritage"
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.",
"Au cœur vibrant d'Alger, le Salon de Thé Bouchaib se dresse comme un pont entre tradition et élégance.", "S'inspirant de notre riche patrimoine, nous servons des thés soigneusement sélectionnés et des pâtisseries artisanales dans un environnement raffiné et chaleureux, orné de subtils motifs géométriques."
]}
/>
</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}
title="Notre Menu"
description="Découvrez nos infusions délicates et nos douceurs traditionnelles, préparées à la main avec des recettes authentiques."
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",
},
{ id: "1", name: "Thé à la Menthe Signature", price: "450 DZD", imageSrc: "http://img.b2bpic.net/free-photo/top-view-cup-tea-with-kettle-dark-floor_140725-73269.jpg" },
{ id: "2", name: "Pâtisseries Traditionnelles", 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" }
]}
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",
},
]}
metricsAnimation="blur-reveal"
/>
</div>
@@ -270,67 +80,36 @@ export default function LandingPage() {
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
title="Galerie & Souvenirs de nos Clients"
description="Capturer les moments de sérénité et de joie dans notre 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. Its 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: "Résident local", testimonial: "Une expérience vraiment raffinée, rappelant les meilleurs salons de thé de la région." },
{ id: "t2", name: "Sarah K.", role: "Visiteuse", testimonial: "L'intérieur doré et le service à thé traditionnel ont rendu ma visite à Alger inoubliable." }
]}
title="Voices of Our Guests"
description="What our wonderful community says about their experience at Bouchaib."
/>
</div>
<div id="contact" data-section="contact">
<ContactCenter
tag="Nous contacter"
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="Visitez-nous"
description="Situé au cœur d'Alger. Rejoignez-nous pour un moment de calme et de thé raffiné."
/>
</div>
<div id="footer" data-section="footer">
<FooterCard
<FooterLogoEmphasis
logoText="Salon de Thé Bouchaib"
copyrightText="© 2025 Salon de Thé Bouchaib. All Rights Reserved."
logoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3E603bEAidbSl8SfiTTqAsuP6gU/uploaded-1779483978108-2jwcfx2e.jpg"
columns={[
{ items: [{ label: "Accueil", href: "#home" }, { label: "À propos", href: "#about" }] },
{ items: [{ label: "Menu", href: "#products" }, { label: "Contact", href: "#contact" }] }
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -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;
}

View File

@@ -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);