Merge version_2_1781549568391 into main #2

Merged
bender merged 1 commits from version_2_1781549568391 into main 2026-06-15 18:54:44 +00:00
9 changed files with 374 additions and 232 deletions

View File

@@ -1,243 +1,35 @@
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroSplit from '@/components/sections/hero/HeroSplit';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import PricingSplitCards from '@/components/sections/pricing/PricingSplitCards';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import { Award, Car, Users } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import FleetSection from './HomePage/sections/Fleet';
import PricingSection from './HomePage/sections/Pricing';
import FaqSection from './HomePage/sections/Faq';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import ContactSection from './HomePage/sections/Contact';
import TrustLogosSection from './HomePage/sections/TrustLogos';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplit
tag="Premium Dubai Rentals"
title="Reliable Car Rentals in Dubai"
description="Experience luxury and comfort with our wide range of premium vehicles. We offer daily, short-term, and long-term rental options tailored for your needs."
primaryButton={{
text: "WhatsApp Us",
href: "https://wa.me/971505301204",
}}
secondaryButton={{
text: "Follow Instagram",
href: "https://www.instagram.com/goldenluorentacar",
}}
imageSrc="http://img.b2bpic.net/free-photo/businessman-walks-past-his-car_496169-2779.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<TrustLogosSection />
<div id="fleet" data-section="fleet">
<SectionErrorBoundary name="fleet">
<FeaturesRevealCardsBento
tag="Our Fleet"
title="Explore Our Luxury Collection"
description="From high-performance supercars to spacious SUVs, we have the perfect ride for every occasion."
items={[
{
title: "Lamborghini Huracán",
description: "High performance thrill machine.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-man-car-showroom_1303-22855.jpg",
},
{
title: "Mercedes-Benz G-Class",
description: "Iconic luxury and power.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/fashionable-ladies-going-out-car_132075-12211.jpg",
},
{
title: "BMW 5 Series",
description: "Executive class comfort.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/female-salesperson-car-showroom-standing-by-car_1303-22387.jpg",
},
{
title: "Toyota Land Cruiser",
description: "Supreme comfort and safety.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/traveling-with-off-road-car_23-2151473001.jpg",
},
{
title: "Nissan Patrol",
description: "The legend of the desert.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/bohemian-personalities-going-adventure-together_23-2149623204.jpg",
},
{
title: "Toyota Yaris",
description: "Efficient city companion.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/stack-coins-calculator-toy-car-pen-template_23-2147919134.jpg",
},
{
title: "Airport Transfer",
description: "Premium shuttle service.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/businesswoman-sitting-backseat-taxi_23-2149236699.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FleetSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSplitCards
tag="Rental Packages"
title="Transparent Pricing"
description="Choose from flexible rental plans that fit your schedule and budget."
plans={[
{
tag: "Short-Term",
price: "AED 250+",
period: "/day",
description: "Perfect for weekend getaways.",
primaryButton: {
text: "Book Now",
href: "https://wa.me/971505301204",
},
featuresTitle: "Included Perks",
features: [
"Comprehensive insurance",
"24/7 roadside help",
"Free delivery",
],
},
{
tag: "Long-Term",
price: "Custom",
period: "/mo",
description: "Best value for extended stays.",
primaryButton: {
text: "Inquire Now",
href: "https://wa.me/971505301204",
},
featuresTitle: "Advanced Benefits",
features: [
"Unlimited mileage",
"Priority maintenance",
"Dedicated manager",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Common Questions"
title="Frequently Asked Questions"
description="Get quick answers to common rental questions."
items={[
{
question: "What documents are required?",
answer: "Valid driving license, passport copy, and credit card.",
},
{
question: "What are your business hours?",
answer: "10:00 AM 11:00 PM. Fridays are for walk-ins only.",
},
{
question: "Do you deliver cars?",
answer: "Yes, we provide doorstep delivery services across Dubai.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/woman-using-mobile-phone-communication-online-application-standing-near-car-city-street-parking-outdoors-car-sharing-rental-service_158595-6723.jpg"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="Why Choose Us"
description="Trusted by hundreds of satisfied clients in Dubai."
metrics={[
{
icon: Car,
title: "Vehicles Served",
value: "500+",
},
{
icon: Users,
title: "Happy Clients",
value: "1200+",
},
{
icon: Award,
title: "Years Experience",
value: "10+",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Reviews"
title="What Our Clients Say"
description="Read authentic experiences from our customers."
testimonials={[
{
name: "Sarah J.",
role: "Tourist",
quote: "Fantastic service! The car was brand new.",
imageSrc: "http://img.b2bpic.net/free-photo/young-family-buying-car_1303-13613.jpg",
},
{
name: "Mark D.",
role: "Businessman",
quote: "Professional, on-time, and reliable.",
imageSrc: "http://img.b2bpic.net/free-photo/elegant-uber-driver-giving-taxi-ride_23-2149241761.jpg",
},
{
name: "Elena V.",
role: "Traveler",
quote: "Golden Luo made my trip unforgettable.",
imageSrc: "http://img.b2bpic.net/free-photo/family-having-fun-winter-roadtrip_23-2149314844.jpg",
},
{
name: "Omar K.",
role: "Resident",
quote: "Best rental prices in Dubai, hands down.",
imageSrc: "http://img.b2bpic.net/free-photo/two-male-friends-drinking-beer-summer-terrace-pub_496169-2777.jpg",
},
{
name: "Linda M.",
role: "Visitor",
quote: "Will definitely book with them again.",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-holding-suitcase_23-2149901406.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Need Help?"
text="Ready to rent? Reach out to us today for personalized support and bookings."
primaryButton={{
text: "WhatsApp Us",
href: "https://wa.me/971505301204",
}}
secondaryButton={{
text: "Call Support",
href: "tel:+971505301204",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Need Help?"
text="Ready to rent? Reach out to us today for personalized support and bookings."
primaryButton={{
text: "WhatsApp Us",
href: "https://wa.me/971505301204",
}}
secondaryButton={{
text: "Call Support",
href: "tel:+971505301204",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,35 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Common Questions"
title="Frequently Asked Questions"
description="Get quick answers to common rental questions."
items={[
{
question: "What documents are required?",
answer: "Valid driving license, passport copy, and credit card.",
},
{
question: "What are your business hours?",
answer: "10:00 AM 11:00 PM. Fridays are for walk-ins only.",
},
{
question: "Do you deliver cars?",
answer: "Yes, we provide doorstep delivery services across Dubai.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/woman-using-mobile-phone-communication-online-application-standing-near-car-city-street-parking-outdoors-car-sharing-rental-service_158595-6723.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "fleet" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FleetSection(): React.JSX.Element {
return (
<div id="fleet" data-section="fleet">
<SectionErrorBoundary name="fleet">
<FeaturesRevealCardsBento
tag="Our Fleet"
title="Explore Our Luxury Collection"
description="From high-performance supercars to spacious SUVs, we have the perfect ride for every occasion."
items={[
{
title: "Lamborghini Huracán",
description: "High performance thrill machine.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-man-car-showroom_1303-22855.jpg",
},
{
title: "Mercedes-Benz G-Class",
description: "Iconic luxury and power.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/fashionable-ladies-going-out-car_132075-12211.jpg",
},
{
title: "BMW 5 Series",
description: "Executive class comfort.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/female-salesperson-car-showroom-standing-by-car_1303-22387.jpg",
},
{
title: "Toyota Land Cruiser",
description: "Supreme comfort and safety.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/traveling-with-off-road-car_23-2151473001.jpg",
},
{
title: "Nissan Patrol",
description: "The legend of the desert.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/bohemian-personalities-going-adventure-together_23-2149623204.jpg",
},
{
title: "Toyota Yaris",
description: "Efficient city companion.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/stack-coins-calculator-toy-car-pen-template_23-2147919134.jpg",
},
{
title: "Airport Transfer",
description: "Premium shuttle service.",
href: "https://wa.me/971505301204",
imageSrc: "http://img.b2bpic.net/free-photo/businesswoman-sitting-backseat-taxi_23-2149236699.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroSplit from '@/components/sections/hero/HeroSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplit
tag="Premium Dubai Rentals"
title="Reliable Car Rentals in Dubai"
description="Experience luxury and comfort with our wide range of premium vehicles. We offer daily, short-term, and long-term rental options tailored for your needs."
primaryButton={{
text: "WhatsApp Us",
href: "https://wa.me/971505301204",
}}
secondaryButton={{
text: "Follow Instagram",
href: "https://www.instagram.com/goldenluorentacar",
}}
imageSrc="http://img.b2bpic.net/free-photo/businessman-walks-past-his-car_496169-2779.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import { Award, Car, Users } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsIconCards
tag="Our Impact"
title="Why Choose Us"
description="Trusted by hundreds of satisfied clients in Dubai."
metrics={[
{
icon: Car,
title: "Vehicles Served",
value: "500+",
},
{
icon: Users,
title: "Happy Clients",
value: "1200+",
},
{
icon: Award,
title: "Years Experience",
value: "10+",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,54 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingSplitCards from '@/components/sections/pricing/PricingSplitCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSplitCards
tag="Rental Packages"
title="Transparent Pricing"
description="Choose from flexible rental plans that fit your schedule and budget."
plans={[
{
tag: "Short-Term",
price: "AED 250+",
period: "/day",
description: "Perfect for weekend getaways.",
primaryButton: {
text: "Book Now",
href: "https://wa.me/971505301204",
},
featuresTitle: "Included Perks",
features: [
"Comprehensive insurance",
"24/7 roadside help",
"Free delivery",
],
},
{
tag: "Long-Term",
price: "Custom",
period: "/mo",
description: "Best value for extended stays.",
primaryButton: {
text: "Inquire Now",
href: "https://wa.me/971505301204",
},
featuresTitle: "Advanced Benefits",
features: [
"Unlimited mileage",
"Priority maintenance",
"Dedicated manager",
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Reviews"
title="What Our Clients Say"
description="Read authentic experiences from our customers."
testimonials={[
{
name: "Sarah J.",
role: "Tourist",
quote: "Fantastic service! The car was brand new.",
imageSrc: "http://img.b2bpic.net/free-photo/young-family-buying-car_1303-13613.jpg",
},
{
name: "Mark D.",
role: "Businessman",
quote: "Professional, on-time, and reliable.",
imageSrc: "http://img.b2bpic.net/free-photo/elegant-uber-driver-giving-taxi-ride_23-2149241761.jpg",
},
{
name: "Elena V.",
role: "Traveler",
quote: "Golden Luo made my trip unforgettable.",
imageSrc: "http://img.b2bpic.net/free-photo/family-having-fun-winter-roadtrip_23-2149314844.jpg",
},
{
name: "Omar K.",
role: "Resident",
quote: "Best rental prices in Dubai, hands down.",
imageSrc: "http://img.b2bpic.net/free-photo/two-male-friends-drinking-beer-summer-terrace-pub_496169-2777.jpg",
},
{
name: "Linda M.",
role: "Visitor",
quote: "Will definitely book with them again.",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-holding-suitcase_23-2149901406.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,51 @@
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
import LoopCarousel from "@/components/ui/LoopCarousel";
import { CreditCard, ShieldCheck, Award, CheckCircle2, Wallet } from "lucide-react";
export default function TrustLogosSection() {
const items = [
{ name: "Visa", icon: CreditCard },
{ name: "Mastercard", icon: CreditCard },
{ name: "American Express", icon: CreditCard },
{ name: "Apple Pay", icon: Wallet },
{ name: "Dubai RTA Approved", icon: ShieldCheck },
{ name: "UAE Rent a Car Association", icon: Award },
{ name: "Fully Insured", icon: CheckCircle2 },
];
return (
<section data-webild-section="trust-logos" id="trust-logos" className="relative w-full py-16 bg-background border-y border-foreground/5 overflow-hidden">
<div className="w-content-width mx-auto px-6 mb-10 text-center">
<ScrollReveal variant="fade">
<span className="text-sm font-bold uppercase tracking-wider text-primary-cta mb-2 block">
Book With Confidence
</span>
<TextAnimation
text="Accepted Payments & Certifications"
variant="fade-blur"
tag="h2"
className="text-2xl md:text-3xl font-bold text-foreground"
gradientText={false}
/>
</ScrollReveal>
</div>
<div className="w-full flex overflow-hidden">
<LoopCarousel>
<div className="flex items-center gap-16 px-8">
{items.map((item, index) => {
const Icon = item.icon;
return (
<div key={index} className="flex items-center gap-3 text-muted-foreground hover:text-primary-cta transition-colors duration-300">
<Icon className="w-8 h-8" />
<span className="text-xl font-semibold whitespace-nowrap">{item.name}</span>
</div>
);
})}
</div>
</LoopCarousel>
</div>
</section>
);
}