Merge version_2 into main #1

Merged
bender merged 7 commits from version_2 into main 2026-05-12 08:25:58 +00:00
7 changed files with 243 additions and 117 deletions

26
src/app/about/page.tsx Normal file
View File

@@ -0,0 +1,26 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import FooterCard from "@/components/sections/footer/FooterCard";
import { Instagram, Facebook, Linkedin } from "lucide-react";
export default function AboutPage() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Account", id: "/account" }, { name: "Contact", id: "/contact" }]}
brandName="Luxuria"
/>
<div className="min-h-screen pt-32 pb-20 container">
<h1 className="text-4xl font-bold mb-8">About Luxuria</h1>
<p className="text-lg">Crafting extraordinary travel experiences since 2010.</p>
</div>
<FooterCard
logoText="Luxuria"
copyrightText="© 2025 Luxuria Travel"
socialLinks={[{ icon: Instagram, href: "#" }, { icon: Facebook, href: "#" }, { icon: Linkedin, href: "#" }]}
/>
</ThemeProvider>
);
}

26
src/app/account/page.tsx Normal file
View File

@@ -0,0 +1,26 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import FooterCard from "@/components/sections/footer/FooterCard";
import { Instagram, Facebook, Linkedin } from "lucide-react";
export default function AccountPage() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Checkout", id: "/checkout" }, { name: "Contact", id: "/contact" }]}
brandName="Luxuria"
/>
<div className="min-h-screen pt-32 pb-20 container">
<h1 className="text-4xl font-bold mb-8">My Account</h1>
<p className="text-lg">Welcome to your private travel dashboard.</p>
</div>
<FooterCard
logoText="Luxuria"
copyrightText="© 2025 Luxuria Travel"
socialLinks={[{ icon: Instagram, href: "#" }, { icon: Facebook, href: "#" }, { icon: Linkedin, href: "#" }]}
/>
</ThemeProvider>
);
}

43
src/app/booking/page.tsx Normal file
View File

@@ -0,0 +1,43 @@
"use client";
import { useState } from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import { Instagram, Facebook, Linkedin } from "lucide-react";
export default function BookingPage() {
const [price, setPrice] = useState(1500);
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "About", id: "/about" },
{ name: "Booking", id: "/booking" },
]}
brandName="Luxuria"
/>
<div className="pt-32 pb-20">
<ContactSplitForm
title="Book Your Experience"
description="Select your dates, vehicle, and confirm your luxury journey."
tag="Booking"
inputs={[
{ name: "date", type: "date", placeholder: "Select Date", required: true },
{ name: "vehicle", type: "text", placeholder: "Vehicle Preference (e.g. Private Jet, Luxury Sedan)", required: true },
{ name: "passengers", type: "number", placeholder: "Number of Passengers", required: true }
]}
onSubmit={(email) => console.log("Booking submitted for", email)}
buttonText="Confirm Booking"
/>
<div className="max-w-4xl mx-auto p-8 mt-10 border rounded-lg bg-card">
<h3 className="text-2xl font-bold mb-4">Estimated Quote</h3>
<p className="text-4xl font-extrabold">${price.toLocaleString()} USD</p>
<p className="text-sm opacity-70 mt-2">*Final price will be confirmed after consultation.</p>
</div>
</div>
</ThemeProvider>
);
}

71
src/app/catalog/page.tsx Normal file
View File

@@ -0,0 +1,71 @@
"use client";
import ReactLenis from "lenis/react";
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import FooterCard from "@/components/sections/footer/FooterCard";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import { useState } from "react";
import { Instagram, Facebook, Linkedin } from "lucide-react";
export default function CatalogPage() {
const [searchValue, setSearchValue] = useState("");
const [category, setCategory] = useState("All");
const products = [
{ id: "1", name: "Range Rover Autobiography", price: "$450/day", rating: 5, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination6.webp" },
{ id: "2", name: "Porsche 911 Turbo", price: "$600/day", rating: 5, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination5.webp" },
{ id: "3", name: "Bentley Continental GT", price: "$800/day", rating: 4, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination1.webp" },
];
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="solid"
primaryButtonStyle="shadow"
secondaryButtonStyle="solid"
headingFontWeight="medium"
>
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "Vehicles", id: "catalog" },
{ name: "Contact", id: "/#contact" },
]}
brandName="Luxuria"
button={{ text: "Plan Your Trip", href: "/#contact" }}
/>
<div className="pt-32 pb-16">
<ProductCatalog
layout="page"
products={products}
searchValue={searchValue}
onSearchChange={setSearchValue}
filters={[
{
label: "Category", options: ["All", "SUV", "Sports", "Luxury"],
selected: category,
onChange: setCategory
}
]}
/>
</div>
<FooterCard
logoText="Luxuria"
copyrightText="© 2025 Luxuria Travel | Luxury Journeys Worldwide"
socialLinks={[
{ icon: Instagram, href: "#", ariaLabel: "Instagram" },
{ icon: Facebook, href: "#", ariaLabel: "Facebook" },
{ icon: Linkedin, href: "#", ariaLabel: "LinkedIn" },
]}
/>
</ReactLenis>
</ThemeProvider>
);
}

26
src/app/checkout/page.tsx Normal file
View File

@@ -0,0 +1,26 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import FooterCard from "@/components/sections/footer/FooterCard";
import { Instagram, Facebook, Linkedin } from "lucide-react";
export default function CheckoutPage() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Account", id: "/account" }, { name: "Contact", id: "/contact" }]}
brandName="Luxuria"
/>
<div className="min-h-screen pt-32 pb-20 container">
<h1 className="text-4xl font-bold mb-8">Secure Checkout</h1>
<p className="text-lg">Complete your luxury travel booking.</p>
</div>
<FooterCard
logoText="Luxuria"
copyrightText="© 2025 Luxuria Travel"
socialLinks={[{ icon: Instagram, href: "#" }, { icon: Facebook, href: "#" }, { icon: Linkedin, href: "#" }]}
/>
</ThemeProvider>
);
}

26
src/app/contact/page.tsx Normal file
View File

@@ -0,0 +1,26 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import FooterCard from "@/components/sections/footer/FooterCard";
import { Instagram, Facebook, Linkedin } from "lucide-react";
export default function ContactPage() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Account", id: "/account" }, { name: "About", id: "/about" }]}
brandName="Luxuria"
/>
<div className="min-h-screen pt-32 pb-20 container">
<h1 className="text-4xl font-bold mb-8">Contact Us</h1>
<p className="text-lg">Let's start planning your dream journey.</p>
</div>
<FooterCard
logoText="Luxuria"
copyrightText="© 2025 Luxuria Travel"
socialLinks={[{ icon: Instagram, href: "#" }, { icon: Facebook, href: "#" }, { icon: Linkedin, href: "#" }]}
/>
</ThemeProvider>
);
}

View File

@@ -30,20 +30,22 @@ export default function LuxuryTravelAgencyTemplatePage() {
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[
{ name: "About", id: "about" },
{ name: "About", id: "/about" },
{ name: "Services", id: "services" },
{ name: "Destinations", id: "destinations" },
{ name: "Reviews", id: "reviews" },
{ name: "Contact", id: "contact" },
{ name: "Contact", id: "/contact" },
{ name: "Account", id: "/account" },
{ name: "Checkout", id: "/checkout" },
]}
brandName="Luxuria"
button={{ text: "Plan Your Trip", href: "#contact" }}
button={{ text: "Plan Your Trip", href: "/contact" }}
/>
<HeroCarouselLogo
logoText="Luxuria"
description="Experience the world's most extraordinary destinations with our bespoke luxury travel experiences curated just for you."
buttons={[
{ text: "Plan Your Journey", href: "#contact" },
{ text: "Plan Your Journey", href: "/contact" },
{ text: "Explore Destinations", href: "#destinations" },
]}
slides={[
@@ -64,7 +66,7 @@ export default function LuxuryTravelAgencyTemplatePage() {
{ type: "text", content: "exclusive destinations" },
]}
buttons={[
{ text: "Our Story", href: "#" },
{ text: "Our Story", href: "/about" },
]}
useInvertedBackground={false}
/>
@@ -80,35 +82,15 @@ export default function LuxuryTravelAgencyTemplatePage() {
useInvertedBackground={false}
features={[
{
title: "Private Aviation",
description: "Charter flights and private jet services to any destination worldwide.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service5.webp",
imageAlt: "Private jet",
},
title: "Private Aviation", description: "Charter flights and private jet services to any destination worldwide.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service5.webp", imageAlt: "Private jet"},
{
title: "Luxury Accommodations",
description: "Handpicked five-star hotels, villas, and exclusive resorts.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service1.webp",
imageAlt: "Luxury hotel",
},
title: "Luxury Accommodations", description: "Handpicked five-star hotels, villas, and exclusive resorts.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service1.webp", imageAlt: "Luxury hotel"},
{
title: "Curated Experiences",
description: "Unique adventures and cultural immersions designed just for you.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service4.webp",
imageAlt: "Experience",
},
title: "Curated Experiences", description: "Unique adventures and cultural immersions designed just for you.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service4.webp", imageAlt: "Experience"},
{
title: "Fine Dining",
description: "Reservations at Michelin-starred restaurants and private chef services.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service3.webp",
imageAlt: "Fine dining",
},
title: "Fine Dining", description: "Reservations at Michelin-starred restaurants and private chef services.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service3.webp", imageAlt: "Fine dining"},
{
title: "Photography Tours",
description: "Professional photographers to capture your once-in-a-lifetime moments.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service2.webp",
imageAlt: "Photography",
}
title: "Photography Tours", description: "Professional photographers to capture your once-in-a-lifetime moments.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service2.webp", imageAlt: "Photography"}
]}
/>
<FeatureCardNine
@@ -122,21 +104,15 @@ export default function LuxuryTravelAgencyTemplatePage() {
useInvertedBackground={false}
features={[
{
title: "Share Your Vision",
description: "Tell us about your dream destination and travel preferences.",
phoneOne: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone5.webp", imageAlt: "Consultation" },
title: "Share Your Vision", description: "Tell us about your dream destination and travel preferences.", phoneOne: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone5.webp", imageAlt: "Consultation" },
phoneTwo: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone6.webp", imageAlt: "Planning" },
},
{
title: "Custom Itinerary",
description: "Receive a bespoke travel plan crafted by our expert advisors.",
phoneOne: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone3.webp", imageAlt: "Itinerary" },
title: "Custom Itinerary", description: "Receive a bespoke travel plan crafted by our expert advisors.", phoneOne: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone3.webp", imageAlt: "Itinerary" },
phoneTwo: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone4.webp", imageAlt: "Details" },
},
{
title: "Seamless Experience",
description: "Enjoy your journey while we handle every detail behind the scenes.",
phoneOne: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone1.webp", imageAlt: "Travel" },
title: "Seamless Experience", description: "Enjoy your journey while we handle every detail behind the scenes.", phoneOne: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone1.webp", imageAlt: "Travel" },
phoneTwo: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone2.webp", imageAlt: "Experience" },
},
]}
@@ -151,53 +127,17 @@ export default function LuxuryTravelAgencyTemplatePage() {
useInvertedBackground={false}
features={[
{
id: "1",
title: "Maldives Private Island",
description: "Exclusive overwater villas with direct lagoon access and private butler service.",
tag: "Asia",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination6.webp",
imageAlt: "Maldives",
},
id: "1", title: "Maldives Private Island", description: "Exclusive overwater villas with direct lagoon access and private butler service.", tag: "Asia", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination6.webp", imageAlt: "Maldives"},
{
id: "2",
title: "Swiss Alpine Retreat",
description: "Secluded mountain chalets with panoramic views and world-class skiing.",
tag: "Europe",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination5.webp",
imageAlt: "Switzerland",
},
id: "2", title: "Swiss Alpine Retreat", description: "Secluded mountain chalets with panoramic views and world-class skiing.", tag: "Europe", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination5.webp", imageAlt: "Switzerland"},
{
id: "3",
title: "African Safari Lodge",
description: "Intimate wildlife encounters in the heart of the Serengeti.",
tag: "Africa",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination1.webp",
imageAlt: "Safari",
},
id: "3", title: "African Safari Lodge", description: "Intimate wildlife encounters in the heart of the Serengeti.", tag: "Africa", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination1.webp", imageAlt: "Safari"},
{
id: "4",
title: "Amalfi Coast Villa",
description: "Clifftop estates with Mediterranean views and private beach access.",
tag: "Europe",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination4.webp",
imageAlt: "Amalfi Coast",
},
id: "4", title: "Amalfi Coast Villa", description: "Clifftop estates with Mediterranean views and private beach access.", tag: "Europe", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination4.webp", imageAlt: "Amalfi Coast"},
{
id: "5",
title: "Kyoto Ryokan",
description: "Traditional Japanese inns with zen gardens and kaiseki dining.",
tag: "Asia",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination3.webp",
imageAlt: "Kyoto",
},
id: "5", title: "Kyoto Ryokan", description: "Traditional Japanese inns with zen gardens and kaiseki dining.", tag: "Asia", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination3.webp", imageAlt: "Kyoto"},
{
id: "6",
title: "Patagonia Eco Lodge",
description: "Remote wilderness retreats surrounded by glaciers and pristine nature.",
tag: "South America",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination2.webp",
imageAlt: "Patagonia",
},
id: "6", title: "Patagonia Eco Lodge", description: "Remote wilderness retreats surrounded by glaciers and pristine nature.", tag: "South America", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination2.webp", imageAlt: "Patagonia"},
]}
/>
<TestimonialCardFive
@@ -209,41 +149,11 @@ export default function LuxuryTravelAgencyTemplatePage() {
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Victoria Sterling",
date: "December 2024",
title: "An absolutely flawless experience from start to finish",
quote: "Luxuria transformed our anniversary trip into something truly magical. Every detail was perfect, from the private transfers to the surprise sunset dinner on the beach. Their team anticipated our every need.",
tag: "Maldives",
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial1.webp",
avatarAlt: "Victoria Sterling",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial1.webp",
imageAlt: "Maldives trip",
},
id: "1", name: "Victoria Sterling", date: "December 2024", title: "An absolutely flawless experience from start to finish", quote: "Luxuria transformed our anniversary trip into something truly magical. Every detail was perfect, from the private transfers to the surprise sunset dinner on the beach. Their team anticipated our every need.", tag: "Maldives", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial1.webp", avatarAlt: "Victoria Sterling", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial1.webp", imageAlt: "Maldives trip"},
{
id: "2",
name: "James & Elizabeth Moore",
date: "November 2024",
title: "Beyond our wildest expectations",
quote: "Our safari honeymoon was nothing short of extraordinary. The lodges were spectacular, the wildlife encounters unforgettable, and the attention to detail was impeccable throughout our journey.",
tag: "Tanzania",
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial2.webp",
avatarAlt: "James & Elizabeth Moore",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial2.webp",
imageAlt: "Safari experience",
},
id: "2", name: "James & Elizabeth Moore", date: "November 2024", title: "Beyond our wildest expectations", quote: "Our safari honeymoon was nothing short of extraordinary. The lodges were spectacular, the wildlife encounters unforgettable, and the attention to detail was impeccable throughout our journey.", tag: "Tanzania", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial2.webp", avatarAlt: "James & Elizabeth Moore", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial2.webp", imageAlt: "Safari experience"},
{
id: "3",
name: "Roberta Chen",
date: "October 2024",
title: "The definition of luxury travel",
quote: "From the private jet charter to the exclusive vineyard tours, Luxuria curated an experience that exceeded all my expectations. Their network of contacts opened doors I never knew existed.",
tag: "France",
avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial3.webp",
avatarAlt: "Roberta Chen",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial3.webp",
imageAlt: "France trip",
},
id: "3", name: "Roberta Chen", date: "October 2024", title: "The definition of luxury travel", quote: "From the private jet charter to the exclusive vineyard tours, Luxuria curated an experience that exceeded all my expectations. Their network of contacts opened doors I never knew existed.", tag: "France", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial3.webp", avatarAlt: "Roberta Chen", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/testimonial/testimonial3.webp", imageAlt: "France trip"},
]}
/>
<ContactSplitForm
@@ -262,9 +172,7 @@ export default function LuxuryTravelAgencyTemplatePage() {
{ name: "destination", type: "text", placeholder: "Dream Destination" },
]}
textarea={{
name: "message",
placeholder: "Tell us about your ideal travel experience...",
rows: 4,
name: "message", placeholder: "Tell us about your ideal travel experience...", rows: 4,
}}
/>
<FooterCard