Merge version_1 into main #2
272
src/app/page.tsx
272
src/app/page.tsx
@@ -12,7 +12,7 @@ import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatin
|
||||
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
|
||||
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
||||
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
||||
import { CheckCircle, CheckSquare, Clock, DollarSign, MessageSquare, ShieldCheck, TrendingUp, Truck } from "lucide-react";
|
||||
import { CheckCircle, CheckSquare, Clock, DollarSign, FileText, MessageSquare, ShieldCheck, TrendingUp, Truck } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -32,22 +32,10 @@ export default function LandingPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{
|
||||
name: "About",
|
||||
id: "#about",
|
||||
},
|
||||
{
|
||||
name: "Services",
|
||||
id: "#features",
|
||||
},
|
||||
{
|
||||
name: "Pricing",
|
||||
id: "#pricing",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "#contact",
|
||||
},
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
brandName="Emalahleni Junk Removal"
|
||||
/>
|
||||
@@ -59,33 +47,15 @@ export default function LandingPage() {
|
||||
description="We turn your waste into a clean slate. Fast, compliant, and professional service you can trust."
|
||||
tag="Start Your Cleanup Today"
|
||||
buttons={[
|
||||
{
|
||||
text: "Book Now via WhatsApp",
|
||||
href: "#contact",
|
||||
},
|
||||
{ text: "Book Now via WhatsApp", href: "#contact" }
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/people-taking-community-action_23-2149232506.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/people-taking-community-action_23-2149232506.jpg"
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/close-up-smiling-worker-talking-phone_23-2147562047.jpg",
|
||||
alt: "Customer support representative",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/beauty-vlogger-adjusting-camera_23-2148916349.jpg",
|
||||
alt: "Customer support representative",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg",
|
||||
alt: "Customer support representative",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/closeup-goodlooking-tender-friendly-pretty-middleaged-30s-woman-extend-arm-hold-camera-hand-smiling-broadly-taking-selfie-photographing-record-videomessage-calling-husband_176420-51274.jpg",
|
||||
alt: "Customer support representative",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/handsome-man-glasshouse_23-2147768451.jpg",
|
||||
alt: "Customer support representative",
|
||||
},
|
||||
{ src: "http://img.b2bpic.net/free-photo/close-up-smiling-worker-talking-phone_23-2147562047.jpg", alt: "Customer support representative" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/beauty-vlogger-adjusting-camera_23-2148916349.jpg", alt: "Customer support representative" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg", alt: "Customer support representative" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/closeup-goodlooking-tender-friendly-pretty-middleaged-30s-woman-extend-arm-hold-camera-hand-smiling-broadly-taking-selfie-photographing-record-videomessage-calling-husband_176420-51274.jpg", alt: "Customer support representative" },
|
||||
{ src: "http://img.b2bpic.net/free-photo/handsome-man-glasshouse_23-2147768451.jpg", alt: "Customer support representative" }
|
||||
]}
|
||||
avatarText="Trusted by over 500+ local residents"
|
||||
/>
|
||||
@@ -97,20 +67,11 @@ export default function LandingPage() {
|
||||
title="Why Emalahleni Trusts Us"
|
||||
description="We are fully compliant, transparent, and committed to keeping our town clean. Your waste is handled according to strict local by-laws."
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
title: "Compliant",
|
||||
},
|
||||
{
|
||||
value: "24h",
|
||||
title: "Response",
|
||||
},
|
||||
{
|
||||
value: "R481",
|
||||
title: "Fees",
|
||||
},
|
||||
{ value: "100%", title: "Compliant" },
|
||||
{ value: "24h", title: "Response" },
|
||||
{ value: "R481", title: "Fees" }
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-doing-professional-home-cleaning-service_23-2150358963.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-doing-professional-home-cleaning-service_23-2150358963.jpg"
|
||||
mediaAnimation="slide-up"
|
||||
metricsAnimation="slide-up"
|
||||
/>
|
||||
@@ -123,68 +84,35 @@ export default function LandingPage() {
|
||||
useInvertedBackground={true}
|
||||
features={[
|
||||
{
|
||||
title: "Step 1: Rapid Quote",
|
||||
description: "Get a fair quote via WhatsApp in minutes.",
|
||||
media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-ecofriendly-people_23-2149125220.jpg",
|
||||
imageAlt: "Process 1",
|
||||
title: "Step 1: Rapid Quote", description: "Get a fair quote via WhatsApp in minutes.", media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-ecofriendly-people_23-2149125220.jpg", imageAlt: "Process 1"
|
||||
},
|
||||
items: [
|
||||
{
|
||||
icon: MessageSquare,
|
||||
text: "WhatsApp response",
|
||||
},
|
||||
{
|
||||
icon: Clock,
|
||||
text: "Instant quote",
|
||||
},
|
||||
{ icon: MessageSquare, text: "WhatsApp response" },
|
||||
{ icon: Clock, text: "Instant quote" }
|
||||
],
|
||||
reverse: false,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/people-taking-community-action_23-2149232506.jpg?_wi=2",
|
||||
imageAlt: "junk removal service bakkie",
|
||||
reverse: false
|
||||
},
|
||||
{
|
||||
title: "Step 2: Professional Loading",
|
||||
description: "We handle the heavy lifting carefully.",
|
||||
media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-trash-bags-filled-with-trash-after-cleaning-environment_169016-11811.jpg",
|
||||
imageAlt: "Process 2",
|
||||
title: "Step 2: Professional Loading", description: "We handle the heavy lifting carefully.", media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-trash-bags-filled-with-trash-after-cleaning-environment_169016-11811.jpg", imageAlt: "Process 2"
|
||||
},
|
||||
items: [
|
||||
{
|
||||
icon: Truck,
|
||||
text: "Clean bakkie",
|
||||
},
|
||||
{
|
||||
icon: ShieldCheck,
|
||||
text: "Insured staff",
|
||||
},
|
||||
{ icon: Truck, text: "Clean bakkie" },
|
||||
{ icon: ShieldCheck, text: "Insured staff" }
|
||||
],
|
||||
reverse: true,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-doing-professional-home-cleaning-service_23-2150358963.jpg?_wi=2",
|
||||
imageAlt: "junk removal service bakkie",
|
||||
reverse: true
|
||||
},
|
||||
{
|
||||
title: "Step 3: Legal Disposal",
|
||||
description: "Every job is logged with landfill receipts.",
|
||||
media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/garbage-man-making-unimportant-gesture_1368-1537.jpg",
|
||||
imageAlt: "Process 3",
|
||||
title: "Step 3: Legal Disposal", description: "Every job is logged with landfill receipts.", media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/garbage-man-making-unimportant-gesture_1368-1537.jpg", imageAlt: "Process 3"
|
||||
},
|
||||
items: [
|
||||
{
|
||||
icon: FileCheck,
|
||||
text: "Official receipts",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
text: "Compliance guaranteed",
|
||||
},
|
||||
{ icon: FileText, text: "Official receipts" },
|
||||
{ icon: CheckCircle, text: "Compliance guaranteed" }
|
||||
],
|
||||
reverse: false,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-middle-aged-attractive-woman-showing-thumb-up-outdoors_1262-12526.jpg?_wi=1",
|
||||
imageAlt: "junk removal service bakkie",
|
||||
},
|
||||
reverse: false
|
||||
}
|
||||
]}
|
||||
title="Our Removal Process"
|
||||
description="A repeatable machine built for speed and reliability."
|
||||
@@ -198,27 +126,9 @@ export default function LandingPage() {
|
||||
gridVariant="bento-grid"
|
||||
useInvertedBackground={false}
|
||||
metrics={[
|
||||
{
|
||||
id: "m1",
|
||||
value: "40%+",
|
||||
title: "Margin",
|
||||
description: "Target net profit",
|
||||
icon: TrendingUp,
|
||||
},
|
||||
{
|
||||
id: "m2",
|
||||
value: "R650+",
|
||||
title: "Revenue",
|
||||
description: "Avg per job",
|
||||
icon: DollarSign,
|
||||
},
|
||||
{
|
||||
id: "m3",
|
||||
value: "40%+",
|
||||
title: "Booking",
|
||||
description: "Quote conversion rate",
|
||||
icon: CheckSquare,
|
||||
},
|
||||
{ id: "m1", value: "40%+", title: "Margin", description: "Target net profit", icon: TrendingUp },
|
||||
{ id: "m2", value: "R650+", title: "Revenue", description: "Avg per job", icon: DollarSign },
|
||||
{ id: "m3", value: "40%+", title: "Booking", description: "Quote conversion rate", icon: CheckSquare }
|
||||
]}
|
||||
title="Our Performance Engine"
|
||||
description="Real data drives our business, not feelings."
|
||||
@@ -232,56 +142,17 @@ export default function LandingPage() {
|
||||
useInvertedBackground={true}
|
||||
plans={[
|
||||
{
|
||||
id: "basic",
|
||||
badge: "Standard",
|
||||
price: "R350",
|
||||
subtitle: "Small household clearance",
|
||||
buttons: [
|
||||
{
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
features: [
|
||||
"Bakkie load",
|
||||
"Compliance receipt",
|
||||
"2h turnaround",
|
||||
],
|
||||
id: "basic", badge: "Standard", price: "R350", subtitle: "Small household clearance", buttons: [{ text: "Book Now", href: "#contact" }],
|
||||
features: ["Bakkie load", "Compliance receipt", "2h turnaround"]
|
||||
},
|
||||
{
|
||||
id: "pro",
|
||||
badge: "Popular",
|
||||
price: "R650",
|
||||
subtitle: "Full load & cleaning",
|
||||
buttons: [
|
||||
{
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
],
|
||||
features: [
|
||||
"Full bakkie load",
|
||||
"Loading included",
|
||||
"Priority response",
|
||||
],
|
||||
id: "pro", badge: "Popular", price: "R650", subtitle: "Full load & cleaning", buttons: [{ text: "Book Now", href: "#contact" }],
|
||||
features: ["Full bakkie load", "Loading included", "Priority response"]
|
||||
},
|
||||
{
|
||||
id: "enterprise",
|
||||
badge: "Custom",
|
||||
price: "Call us",
|
||||
subtitle: "Mining site or business",
|
||||
buttons: [
|
||||
{
|
||||
text: "Call Now",
|
||||
href: "tel:0136906555",
|
||||
},
|
||||
],
|
||||
features: [
|
||||
"Multiple trips",
|
||||
"Ongoing service",
|
||||
"Business receipts",
|
||||
],
|
||||
},
|
||||
id: "enterprise", badge: "Custom", price: "Call us", subtitle: "Mining site or business", buttons: [{ text: "Call Now", href: "tel:0136906555" }],
|
||||
features: ["Multiple trips", "Ongoing service", "Business receipts"]
|
||||
}
|
||||
]}
|
||||
title="Transparent Pricing"
|
||||
description="Honest pricing for honest work in Emalahleni."
|
||||
@@ -294,45 +165,20 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
title: "Excellent service!",
|
||||
quote: "Quick and professional.",
|
||||
name: "Sarah J.",
|
||||
role: "Resident",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-middle-aged-attractive-woman-showing-thumb-up-outdoors_1262-12526.jpg?_wi=2",
|
||||
id: "1", title: "Excellent service!", quote: "Quick and professional.", name: "Sarah J.", role: "Resident", imageSrc: "http://img.b2bpic.net/free-photo/smiling-middle-aged-attractive-woman-showing-thumb-up-outdoors_1262-12526.jpg"
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
title: "Highly recommended",
|
||||
quote: "Very happy with the prompt work.",
|
||||
name: "Michael C.",
|
||||
role: "Homeowner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-woman-farmer-selling-healthy-food-local-marketplace-showing-seasonal-fresh-fruits-veggies-farmers-market-young-vendor-preparing-sell-eco-organic-products_482257-62279.jpg",
|
||||
id: "2", title: "Highly recommended", quote: "Very happy with the prompt work.", name: "Michael C.", role: "Homeowner", imageSrc: "http://img.b2bpic.net/free-photo/portrait-woman-farmer-selling-healthy-food-local-marketplace-showing-seasonal-fresh-fruits-veggies-farmers-market-young-vendor-preparing-sell-eco-organic-products_482257-62279.jpg"
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
title: "Reliable",
|
||||
quote: "Compliance was priority. Great job.",
|
||||
name: "Emily R.",
|
||||
role: "Manager",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-vital-old-man-living-room_329181-14668.jpg",
|
||||
id: "3", title: "Reliable", quote: "Compliance was priority. Great job.", name: "Emily R.", role: "Manager", imageSrc: "http://img.b2bpic.net/free-photo/portrait-vital-old-man-living-room_329181-14668.jpg"
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
title: "Easy process",
|
||||
quote: "Loved the WhatsApp quote system.",
|
||||
name: "David K.",
|
||||
role: "Resident",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-scene-showing-care-support-from-people-community_23-2151261243.jpg",
|
||||
id: "4", title: "Easy process", quote: "Loved the WhatsApp quote system.", name: "David K.", role: "Resident", imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-scene-showing-care-support-from-people-community_23-2151261243.jpg"
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
title: "Great value",
|
||||
quote: "Best price in Emalahleni.",
|
||||
name: "Jane D.",
|
||||
role: "Resident",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-holding-notebooks-standing-smiling_23-2147657122.jpg",
|
||||
},
|
||||
id: "5", title: "Great value", quote: "Best price in Emalahleni.", name: "Jane D.", role: "Resident", imageSrc: "http://img.b2bpic.net/free-photo/man-holding-notebooks-standing-smiling_23-2147657122.jpg"
|
||||
}
|
||||
]}
|
||||
title="Client Feedback"
|
||||
description="What our customers are saying about our reliability."
|
||||
@@ -344,13 +190,7 @@ export default function LandingPage() {
|
||||
textboxLayout="split"
|
||||
useInvertedBackground={true}
|
||||
names={[
|
||||
"Emalahleni Local",
|
||||
"Waste Management Dept",
|
||||
"Witbank Property Mgmt",
|
||||
"Local Mining Solutions",
|
||||
"Homeowner Association",
|
||||
"Green Initiative",
|
||||
"City Compliance",
|
||||
"Emalahleni Local", "Waste Management Dept", "Witbank Property Mgmt", "Local Mining Solutions", "Homeowner Association", "Green Initiative", "City Compliance"
|
||||
]}
|
||||
title="Community Partners"
|
||||
description="Serving the Emalahleni community."
|
||||
@@ -360,9 +200,7 @@ export default function LandingPage() {
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplit
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "plain",
|
||||
}}
|
||||
background={{ variant: "plain" }}
|
||||
tag="Get Started"
|
||||
title="Ready to clear your space?"
|
||||
description="Contact us today for a free WhatsApp quote."
|
||||
@@ -374,14 +212,8 @@ export default function LandingPage() {
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Emalahleni Junk"
|
||||
leftLink={{
|
||||
text: "Privacy Policy",
|
||||
href: "#",
|
||||
}}
|
||||
rightLink={{
|
||||
text: "Compliance Docs",
|
||||
href: "#",
|
||||
}}
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Compliance Docs", href: "#" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
|
||||
Reference in New Issue
Block a user