5 Commits

Author SHA1 Message Date
4335a226f1 Update src/app/page.tsx 2026-05-22 21:03:54 +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 43 additions and 267 deletions

View File

@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Libre_Baskerville } from "next/font/google"; 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", const amiri = Amiri({ variable: "--font-amiri", subsets: ["latin"], weight: ["400", "700"] });
subsets: ["latin"], const lora = Lora({ variable: "--font-lora", subsets: ["latin"] });
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
export default function RootLayout({ export default function RootLayout({
children, children,
@@ -42,7 +37,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}> <body className={`${amiri.variable} ${lora.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -3,15 +3,12 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactCenter from '@/components/sections/contact/ContactCenter'; import ContactCenter from '@/components/sections/contact/ContactCenter';
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
import FooterCard from '@/components/sections/footer/FooterCard'; import FooterCard from '@/components/sections/footer/FooterCard';
import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial'; import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import ProductCardOne from '@/components/sections/product/ProductCardOne'; import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo'; import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import TextSplitAbout from '@/components/sections/about/TextSplitAbout'; import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import { Coffee, Leaf } from "lucide-react"; import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -31,22 +28,11 @@ export default function LandingPage() {
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleApple <NavbarStyleApple
navItems={[ navItems={[
{ { name: "Home", id: "home" },
name: "Home", { name: "About", id: "about" },
id: "home", { name: "Menu", id: "products" },
}, { name: "Gallery", id: "testimonials" },
{ { name: "Contact", id: "contact" },
name: "About",
id: "about",
},
{
name: "Menu",
id: "products",
},
{
name: "Contact",
id: "contact",
},
]} ]}
brandName="Salon de Thé Bouchaib" brandName="Salon de Thé Bouchaib"
/> />
@@ -55,213 +41,43 @@ export default function LandingPage() {
<div id="home" data-section="home"> <div id="home" data-section="home">
<HeroSplitTestimonial <HeroSplitTestimonial
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{ variant: "plain" }}
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."
title="The Art of Moroccan Tea" tag="Established Tradition"
description="Experience tradition in every pour. Salon de Thé Bouchaib invites you to a haven of serenity where authentic flavors meet timeless hospitality."
testimonials={[ testimonials={[
{ { name: "Amine D.", handle: "@amine_d", testimonial: "A truly refined experience, reminiscent of the best tea salons in the region.", rating: 5 },
name: "Amira H.", { name: "Sarah K.", handle: "@sarah_k", testimonial: "The golden interior and traditional tea set made my visit to Algiers unforgettable.", rating: 5 }
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" 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" 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>
<div id="about" data-section="about"> <div id="about" data-section="about">
<TextSplitAbout <TextSplitAbout
useInvertedBackground={false} useInvertedBackground={false}
title="A Legacy of Hospitality" title="Our Heritage"
description={[ description={[
"For generations, we have perfected the art of serving premium tea in the heart of our community.", "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."
"Salon de Thé Bouchaib is more than a café; it is a gathering place where history and flavor converge in a welcoming, elegant environment.",
]} ]}
/> />
</div> </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"> <div id="products" data-section="products">
<ProductCardOne <ProductCardOne
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="default"
gridVariant="three-columns-all-equal-width" gridVariant="three-columns-all-equal-width"
useInvertedBackground={false} 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" title="Our Menu"
description="Indulge in our carefully curated selection of traditional delicacies and infusions." description="Discover our delicate infusions and traditional sweets, handcrafted with authentic recipes."
/> products={[
</div> { 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" },
<div id="metrics" data-section="metrics"> { 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" }
<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> </div>
@@ -270,57 +86,22 @@ export default function LandingPage() {
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
title="Gallery & Guest Memories"
description="Capturing the moments of serenity and joy in our salon."
testimonials={[ testimonials={[
{ { id: "t1", name: "Amine D.", role: "Local Resident", testimonial: "A truly refined experience, reminiscent of the best tea salons in the region." },
id: "t1", { id: "t2", name: "Sarah K.", role: "Visiting Guest", testimonial: "The golden interior and traditional tea set made my visit to Algiers unforgettable." }
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",
},
]} ]}
title="Voices of Our Guests"
description="What our wonderful community says about their experience at Bouchaib."
/> />
</div> </div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactCenter <ContactCenter
tag="Get in touch"
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{ variant: "plain" }}
variant: "plain", title="Visit Us"
}} description="Located in the heart of Algiers. Join us for a moment of quiet reflection and fine tea."
tag="Newsletter"
title="Stay Connected"
description="Sign up for our newsletter to receive updates on new seasonal menu items and special events."
/> />
</div> </div>

View File

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

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f5f4ef; --background: #FDFBF7;
--card: #dad6cd; --card: #F5EFE1;
--foreground: #2a2928; --foreground: #4A1010;
--primary-cta: #2a2928; --primary-cta: #B8860B;
--primary-cta-text: #f5f4ef; --primary-cta-text: #f5f4ef;
--secondary-cta: #ecebea; --secondary-cta: #4A1010;
--secondary-cta-text: #2a2928; --secondary-cta-text: #2a2928;
--accent: #ffffff; --accent: #B8860B;
--background-accent: #c6b180; --background-accent: #FDFBF7;
/* 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);