Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c41b8b070 | |||
| 684c8478c8 | |||
| 8852f9970f | |||
| 0b395633e3 | |||
| 467ed31013 | |||
| e9557ade89 | |||
| 883407cccd | |||
| e9e989d768 | |||
| 39b82279b1 | |||
| 8fb5275e97 | |||
| 2fc5f0955c | |||
| 1de3d37b3e | |||
| ddcba6e620 | |||
| c56f0d95f0 | |||
| 667e39eb98 | |||
| f37ef9d32b |
75
src/app/booking/page.tsx
Normal file
75
src/app/booking/page.tsx
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||||
|
import FooterCard from "@/components/sections/footer/FooterCard";
|
||||||
|
import { Instagram, Facebook, Linkedin } from "lucide-react";
|
||||||
|
|
||||||
|
export default function BookingPage() {
|
||||||
|
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: "About", id: "/#about" },
|
||||||
|
{ name: "Services", id: "/#services" },
|
||||||
|
{ name: "Destinations", id: "/#destinations" },
|
||||||
|
{ name: "Properties", id: "/properties" },
|
||||||
|
{ name: "Reviews", id: "/#reviews" },
|
||||||
|
{ name: "Contact", id: "/#contact" },
|
||||||
|
{ name: "Booking", id: "/booking" }
|
||||||
|
]}
|
||||||
|
brandName="Luxuria"
|
||||||
|
button={{ text: "Plan Your Trip", href: "/booking" }}
|
||||||
|
/>
|
||||||
|
<div className="min-h-screen py-32 lg:py-40">
|
||||||
|
<ContactSplitForm
|
||||||
|
title="Book Your Exclusive Stay"
|
||||||
|
description="Fill out the form below, and our team will craft your perfect reservation."
|
||||||
|
useInvertedBackground={false}
|
||||||
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero1.webp?_wi=2"
|
||||||
|
imageAlt="Luxury travel booking"
|
||||||
|
mediaPosition="left"
|
||||||
|
mediaAnimation="slide-up"
|
||||||
|
buttonText="Submit Reservation"
|
||||||
|
inputs={[
|
||||||
|
{ name: "fullName", type: "text", placeholder: "Full Name", required: true },
|
||||||
|
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||||
|
{ name: "phone", type: "tel", placeholder: "Phone Number" },
|
||||||
|
{ name: "propertyId", type: "text", placeholder: "Desired Property (Optional)" },
|
||||||
|
{ name: "checkInDate", type: "date", placeholder: "Check-in Date" },
|
||||||
|
{ name: "checkOutDate", type: "date", placeholder: "Check-out Date" },
|
||||||
|
{ name: "numGuests", type: "number", placeholder: "Number of Guests" },
|
||||||
|
]}
|
||||||
|
textarea={{
|
||||||
|
name: "specialRequests", placeholder: "Any special requests or preferences?", rows: 4,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</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>
|
||||||
|
);
|
||||||
|
}
|
||||||
319
src/app/page.tsx
319
src/app/page.tsx
@@ -30,14 +30,17 @@ export default function LuxuryTravelAgencyTemplatePage() {
|
|||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "About", id: "about" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Services", id: "services" },
|
{ name: "About", id: "/#about" },
|
||||||
{ name: "Destinations", id: "destinations" },
|
{ name: "Services", id: "/#services" },
|
||||||
{ name: "Reviews", id: "reviews" },
|
{ name: "Destinations", id: "/#destinations" },
|
||||||
{ name: "Contact", id: "contact" },
|
{ name: "Properties", id: "/properties" },
|
||||||
|
{ name: "Reviews", id: "/#reviews" },
|
||||||
|
{ name: "Contact", id: "/#contact" },
|
||||||
|
{ name: "Booking", id: "/booking" }
|
||||||
]}
|
]}
|
||||||
brandName="Luxuria"
|
brandName="Luxuria"
|
||||||
button={{ text: "Plan Your Trip", href: "#contact" }}
|
button={{ text: "Plan Your Trip", href: "/booking" }}
|
||||||
/>
|
/>
|
||||||
<HeroCarouselLogo
|
<HeroCarouselLogo
|
||||||
logoText="Luxuria"
|
logoText="Luxuria"
|
||||||
@@ -47,70 +50,54 @@ export default function LuxuryTravelAgencyTemplatePage() {
|
|||||||
{ text: "Explore Destinations", href: "#destinations" },
|
{ text: "Explore Destinations", href: "#destinations" },
|
||||||
]}
|
]}
|
||||||
slides={[
|
slides={[
|
||||||
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero1.webp", imageAlt: "Luxury resort" },
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero1.webp?_wi=1", imageAlt: "Luxury resort" },
|
||||||
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero2.webp", imageAlt: "Private yacht" },
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero2.webp", imageAlt: "Private yacht" },
|
||||||
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero3.jpg", imageAlt: "Private yacht" },
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero3.jpg", imageAlt: "Private yacht" },
|
||||||
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero4.jpg", imageAlt: "Private yacht" },
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero4.jpg", imageAlt: "Private yacht" },
|
||||||
]}
|
]}
|
||||||
showDimOverlay={true}
|
showDimOverlay={true}
|
||||||
/>
|
/>
|
||||||
<InlineImageSplitTextAbout
|
<div id="about" data-section="about">
|
||||||
className="pt-40"
|
<InlineImageSplitTextAbout
|
||||||
heading={[
|
className="pt-40"
|
||||||
{ type: "text", content: "We craft" },
|
heading={[
|
||||||
{ type: "image", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero3.jpg", alt: "Travel" },
|
{ type: "text", content: "We craft" },
|
||||||
{ type: "text", content: "unforgettable journeys to the world's most" },
|
{ type: "image", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero3.jpg", alt: "Travel" },
|
||||||
{ type: "image", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero4.jpg", alt: "Destination" },
|
{ type: "text", content: "unforgettable journeys to the world's most" },
|
||||||
{ type: "text", content: "exclusive destinations" },
|
{ type: "image", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/hero/hero4.jpg", alt: "Destination" },
|
||||||
]}
|
{ type: "text", content: "exclusive destinations" },
|
||||||
buttons={[
|
]}
|
||||||
{ text: "Our Story", href: "#" },
|
buttons={[
|
||||||
]}
|
{ text: "Our Story", href: "#" },
|
||||||
useInvertedBackground={false}
|
]}
|
||||||
/>
|
useInvertedBackground={false}
|
||||||
<FeatureCardOne
|
/>
|
||||||
tag="Services"
|
</div>
|
||||||
tagIcon={Sparkles}
|
<div id="services" data-section="services">
|
||||||
title="Tailored Travel Experiences"
|
<FeatureCardOne
|
||||||
description="From private jets to secluded villas, we handle every detail of your journey"
|
tag="Services"
|
||||||
textboxLayout="default"
|
tagIcon={Sparkles}
|
||||||
animationType="slide-up"
|
title="Tailored Travel Experiences"
|
||||||
gridVariant="uniform-all-items-equal"
|
description="From private jets to secluded villas, we handle every detail of your journey"
|
||||||
uniformGridCustomHeightClasses="h-100 2xl:h-110"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
animationType="slide-up"
|
||||||
features={[
|
gridVariant="uniform-all-items-equal"
|
||||||
{
|
uniformGridCustomHeightClasses="h-100 2xl:h-110"
|
||||||
title: "Private Aviation",
|
useInvertedBackground={false}
|
||||||
description: "Charter flights and private jet services to any destination worldwide.",
|
features={[
|
||||||
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.",
|
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"},
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/services/service1.webp",
|
{
|
||||||
imageAlt: "Luxury hotel",
|
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: "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",
|
</div>
|
||||||
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: "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
|
<FeatureCardNine
|
||||||
tag="How It Works"
|
tag="How It Works"
|
||||||
tagIcon={Compass}
|
tagIcon={Compass}
|
||||||
@@ -122,151 +109,83 @@ export default function LuxuryTravelAgencyTemplatePage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
title: "Share Your Vision",
|
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" },
|
||||||
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" },
|
phoneTwo: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone6.webp", imageAlt: "Planning" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Custom 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" },
|
||||||
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" },
|
phoneTwo: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone4.webp", imageAlt: "Details" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Seamless Experience",
|
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" },
|
||||||
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" },
|
phoneTwo: { imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/phone/phone2.webp", imageAlt: "Experience" },
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
<FeatureCardMedia
|
<div id="destinations" data-section="destinations">
|
||||||
tag="Destinations"
|
<FeatureCardMedia
|
||||||
tagIcon={Plane}
|
tag="Destinations"
|
||||||
title="Extraordinary Destinations"
|
tagIcon={Plane}
|
||||||
description="Explore handpicked locations that define luxury travel"
|
title="Extraordinary Destinations"
|
||||||
textboxLayout="default"
|
description="Explore handpicked locations that define luxury travel"
|
||||||
animationType="slide-up"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
animationType="slide-up"
|
||||||
features={[
|
useInvertedBackground={false}
|
||||||
{
|
features={[
|
||||||
id: "1",
|
{
|
||||||
title: "Maldives Private Island",
|
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?_wi=1", imageAlt: "Maldives"},
|
||||||
description: "Exclusive overwater villas with direct lagoon access and private butler service.",
|
{
|
||||||
tag: "Asia",
|
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?_wi=1", imageAlt: "Switzerland"},
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination6.webp",
|
{
|
||||||
imageAlt: "Maldives",
|
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?_wi=1", 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?_wi=1", imageAlt: "Amalfi Coast"},
|
||||||
id: "2",
|
{
|
||||||
title: "Swiss Alpine Retreat",
|
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?_wi=1", imageAlt: "Kyoto"},
|
||||||
description: "Secluded mountain chalets with panoramic views and world-class skiing.",
|
{
|
||||||
tag: "Europe",
|
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?_wi=1", imageAlt: "Patagonia"},
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination5.webp",
|
]}
|
||||||
imageAlt: "Switzerland",
|
/>
|
||||||
},
|
</div>
|
||||||
{
|
<div id="reviews" data-section="reviews">
|
||||||
id: "3",
|
<TestimonialCardFive
|
||||||
title: "African Safari Lodge",
|
tag="Reviews"
|
||||||
description: "Intimate wildlife encounters in the heart of the Serengeti.",
|
tagIcon={Sparkles}
|
||||||
tag: "Africa",
|
title="What Our Travelers Say"
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination1.webp",
|
description="Hear from guests who've experienced extraordinary journeys"
|
||||||
imageAlt: "Safari",
|
textboxLayout="default"
|
||||||
},
|
useInvertedBackground={false}
|
||||||
{
|
testimonials={[
|
||||||
id: "4",
|
{
|
||||||
title: "Amalfi Coast Villa",
|
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"},
|
||||||
description: "Clifftop estates with Mediterranean views and private beach access.",
|
{
|
||||||
tag: "Europe",
|
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"},
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination4.webp",
|
{
|
||||||
imageAlt: "Amalfi Coast",
|
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: "5",
|
</div>
|
||||||
title: "Kyoto Ryokan",
|
<div id="contact" data-section="contact">
|
||||||
description: "Traditional Japanese inns with zen gardens and kaiseki dining.",
|
<ContactSplitForm
|
||||||
tag: "Asia",
|
title="Plan Your Journey"
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination3.webp",
|
description="Let us create your perfect luxury travel experience"
|
||||||
imageAlt: "Kyoto",
|
useInvertedBackground={false}
|
||||||
},
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/contact/contact1.webp"
|
||||||
{
|
imageAlt="Luxury travel"
|
||||||
id: "6",
|
mediaPosition="right"
|
||||||
title: "Patagonia Eco Lodge",
|
mediaAnimation="slide-up"
|
||||||
description: "Remote wilderness retreats surrounded by glaciers and pristine nature.",
|
buttonText="Start Planning"
|
||||||
tag: "South America",
|
inputs={[
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination2.webp",
|
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
||||||
imageAlt: "Patagonia",
|
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||||
},
|
{ name: "phone", type: "tel", placeholder: "Phone Number" },
|
||||||
]}
|
{ name: "destination", type: "text", placeholder: "Dream Destination" },
|
||||||
/>
|
]}
|
||||||
<TestimonialCardFive
|
textarea={{
|
||||||
tag="Reviews"
|
name: "message", placeholder: "Tell us about your ideal travel experience...", rows: 4,
|
||||||
tagIcon={Sparkles}
|
}}
|
||||||
title="What Our Travelers Say"
|
/>
|
||||||
description="Hear from guests who've experienced extraordinary journeys"
|
</div>
|
||||||
textboxLayout="default"
|
|
||||||
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: "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",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
<ContactSplitForm
|
|
||||||
title="Plan Your Journey"
|
|
||||||
description="Let us create your perfect luxury travel experience"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/contact/contact1.webp"
|
|
||||||
imageAlt="Luxury travel"
|
|
||||||
mediaPosition="right"
|
|
||||||
mediaAnimation="slide-up"
|
|
||||||
buttonText="Start Planning"
|
|
||||||
inputs={[
|
|
||||||
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
|
||||||
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
|
||||||
{ name: "phone", type: "tel", placeholder: "Phone Number" },
|
|
||||||
{ name: "destination", type: "text", placeholder: "Dream Destination" },
|
|
||||||
]}
|
|
||||||
textarea={{
|
|
||||||
name: "message",
|
|
||||||
placeholder: "Tell us about your ideal travel experience...",
|
|
||||||
rows: 4,
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<FooterCard
|
<FooterCard
|
||||||
logoText="Luxuria"
|
logoText="Luxuria"
|
||||||
copyrightText="© 2025 Luxuria Travel | Luxury Journeys Worldwide"
|
copyrightText="© 2025 Luxuria Travel | Luxury Journeys Worldwide"
|
||||||
@@ -279,4 +198,4 @@ export default function LuxuryTravelAgencyTemplatePage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
111
src/app/properties/page.tsx
Normal file
111
src/app/properties/page.tsx
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import React, { useState } from "react";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
|
||||||
|
import FooterCard from "@/components/sections/footer/FooterCard";
|
||||||
|
import { Instagram, Facebook, Linkedin } from "lucide-react";
|
||||||
|
|
||||||
|
const propertiesData = [
|
||||||
|
{
|
||||||
|
id: "1", category: "Villa", name: "Luxury Beachfront Villa", price: "$1,500/night", rating: 5,
|
||||||
|
reviewCount: "87 reviews", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination6.webp?_wi=2", imageAlt: "Beachfront Villa"},
|
||||||
|
{
|
||||||
|
id: "2", category: "Chalet", name: "Swiss Mountain Chalet", price: "$1,200/night", rating: 4,
|
||||||
|
reviewCount: "62 reviews", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination5.webp?_wi=2", imageAlt: "Mountain Chalet"},
|
||||||
|
{
|
||||||
|
id: "3", category: "Lodge", name: "Serengeti Safari Lodge", price: "$1,800/night", rating: 5,
|
||||||
|
reviewCount: "95 reviews", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination1.webp?_wi=2", imageAlt: "Safari Lodge"},
|
||||||
|
{
|
||||||
|
id: "4", category: "Estate", name: "Amalfi Coast Estate", price: "$2,000/night", rating: 5,
|
||||||
|
reviewCount: "78 reviews", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination4.webp?_wi=2", imageAlt: "Amalfi Estate"},
|
||||||
|
{
|
||||||
|
id: "5", category: "Ryokan", name: "Kyoto Traditional Ryokan", price: "$900/night", rating: 4,
|
||||||
|
reviewCount: "41 reviews", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination3.webp?_wi=2", imageAlt: "Kyoto Ryokan"},
|
||||||
|
{
|
||||||
|
id: "6", category: "Lodge", name: "Patagonia Wilderness Lodge", price: "$1,100/night", rating: 4,
|
||||||
|
reviewCount: "53 reviews", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/luxury-travel-agency/destination/destination2.webp?_wi=2", imageAlt: "Patagonia Lodge"},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default function PropertiesPage() {
|
||||||
|
const [search, setSearch] = useState("");
|
||||||
|
const [locationFilter, setLocationFilter] = useState("All");
|
||||||
|
const [typeFilter, setTypeFilter] = useState("All");
|
||||||
|
const [priceFilter, setPriceFilter] = useState("All");
|
||||||
|
|
||||||
|
const filteredProperties = propertiesData.filter(property => {
|
||||||
|
const matchesSearch = property.name.toLowerCase().includes(search.toLowerCase());
|
||||||
|
const matchesLocation = locationFilter === "All" || property.imageAlt?.includes(locationFilter);
|
||||||
|
const matchesType = typeFilter === "All" || property.category === typeFilter;
|
||||||
|
const matchesPrice = priceFilter === "All" || (function() {
|
||||||
|
const price = parseFloat(property.price.replace(/[^0-9.-]+/g,""));
|
||||||
|
if (priceFilter === "$500-1000") return price >= 500 && price < 1000;
|
||||||
|
if (priceFilter === "$1000-1500") return price >= 1000 && price < 1500;
|
||||||
|
if (priceFilter === "$1500-2000") return price >= 1500 && price < 2000;
|
||||||
|
if (priceFilter === "2000+") return price >= 2000;
|
||||||
|
return true;
|
||||||
|
})();
|
||||||
|
return matchesSearch && matchesLocation && matchesType && matchesPrice;
|
||||||
|
});
|
||||||
|
|
||||||
|
const filters = [
|
||||||
|
{ label: "Location", options: ["All", "Maldives", "Switzerland", "Tanzania", "Amalfi Coast", "Kyoto", "Patagonia"], selected: locationFilter, onChange: setLocationFilter },
|
||||||
|
{ label: "Property Type", options: ["All", "Villa", "Chalet", "Lodge", "Estate", "Ryokan"], selected: typeFilter, onChange: setTypeFilter },
|
||||||
|
{ label: "Price Range", options: ["All", "$500-1000", "$1000-1500", "$1500-2000", "2000+"], selected: priceFilter, onChange: setPriceFilter },
|
||||||
|
];
|
||||||
|
|
||||||
|
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: "About", id: "/#about" },
|
||||||
|
{ name: "Services", id: "/#services" },
|
||||||
|
{ name: "Destinations", id: "/#destinations" },
|
||||||
|
{ name: "Properties", id: "/properties" },
|
||||||
|
{ name: "Reviews", id: "/#reviews" },
|
||||||
|
{ name: "Contact", id: "/#contact" },
|
||||||
|
{ name: "Booking", id: "/booking" }
|
||||||
|
]}
|
||||||
|
brandName="Luxuria"
|
||||||
|
button={{ text: "Plan Your Trip", href: "/booking" }}
|
||||||
|
/>
|
||||||
|
<div className="min-h-screen py-32 lg:py-40">
|
||||||
|
<ProductCatalog
|
||||||
|
layout="page"
|
||||||
|
products={filteredProperties}
|
||||||
|
searchValue={search}
|
||||||
|
onSearchChange={setSearch}
|
||||||
|
searchPlaceholder="Search properties..."
|
||||||
|
filters={filters}
|
||||||
|
emptyMessage="No properties match your criteria."
|
||||||
|
className="pt-12"
|
||||||
|
/>
|
||||||
|
</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>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user