Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c330941777 | |||
| aa56e5d075 | |||
| 821f617cf7 | |||
| 7e3396599a | |||
| eb067a3b28 | |||
| 3d254c65b0 | |||
| 0edacdf4af | |||
| 0c09c0a635 | |||
| e9682c0903 | |||
| 85070f9e2c | |||
| b0320f8c1a | |||
| bb100dbead |
@@ -1,17 +1,14 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Geist, Geist_Mono } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import "./globals.css";
|
||||
|
||||
const geist = Geist({
|
||||
variable: "--font-geist-sans", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const geistMono = Geist_Mono({
|
||||
variable: "--font-geist-mono", subsets: ["latin"],
|
||||
const inter = Inter({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Create Next App", description: "Generated by create next app"};
|
||||
title: "JunkGone - Professional Junk Removal Service", description: "Same-day junk removal for homes and businesses. Transparent pricing, professional service, and responsible disposal."
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
@@ -20,7 +17,7 @@ export default function RootLayout({
|
||||
}) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body className={`${geist.variable} ${geistMono.variable}`}>
|
||||
<body className={`${inter.variable}`}>
|
||||
{children}
|
||||
|
||||
<script
|
||||
|
||||
198
src/app/page.tsx
198
src/app/page.tsx
@@ -4,13 +4,16 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
|
||||
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
|
||||
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
||||
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
|
||||
import PricingCardThree from '@/components/sections/pricing/PricingCardThree';
|
||||
import FeatureCardNine from '@/components/sections/feature/FeatureCardNine';
|
||||
import PricingCardFive from '@/components/sections/pricing/PricingCardFive';
|
||||
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
|
||||
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
|
||||
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import { Sparkles, Building2, Package, Leaf, Clock, DollarSign, CheckCircle, Home, Shield } from 'lucide-react';
|
||||
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||
import { Sparkles, Building2, Package, Leaf, Clock, DollarSign, CheckCircle, Home, Shield, Truck, Recycle, Users } from 'lucide-react';
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -104,36 +107,6 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="portfolio" data-section="portfolio">
|
||||
<ProductCardTwo
|
||||
tag="Before & After Gallery"
|
||||
title="See Our Work in Action"
|
||||
description="Real transformations from real customers. Watch cluttered spaces become clean, organized havens."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
products={[
|
||||
{
|
||||
id: "1", brand: "Residential", name: "Garage Transformation", price: "Same-Day Service", rating: 5,
|
||||
reviewCount: "Perfect", imageSrc: "http://img.b2bpic.net/free-photo/mechanics-servicing-bicycles_1170-2475.jpg", imageAlt: "Before: cluttered garage filled with junk"
|
||||
},
|
||||
{
|
||||
id: "2", brand: "Residential", name: "Garage - After", price: "Completed", rating: 5,
|
||||
reviewCount: "Perfect", imageSrc: "http://img.b2bpic.net/free-photo/indoor-carpark-atnight-wode-angle_1127-3163.jpg", imageAlt: "After: clean, organized, spacious garage"
|
||||
},
|
||||
{
|
||||
id: "3", brand: "Commercial", name: "Basement Clearout", price: "Same-Day Service", rating: 5,
|
||||
reviewCount: "Perfect", imageSrc: "http://img.b2bpic.net/free-photo/messy-abandoned-room-psychiatric-hospital_1150-18956.jpg", imageAlt: "Before: basement cluttered with storage items and junk"
|
||||
},
|
||||
{
|
||||
id: "4", brand: "Commercial", name: "Basement - After", price: "Completed", rating: 5,
|
||||
reviewCount: "Perfect", imageSrc: "http://img.b2bpic.net/free-photo/woman-buys-dishes-store_1157-36684.jpg", imageAlt: "After: empty basement ready for use"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<MetricSplitMediaAbout
|
||||
tag="Why Choose JunkGone"
|
||||
@@ -151,8 +124,38 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="portfolio" data-section="portfolio">
|
||||
<FeatureCardNine
|
||||
tag="How We Work"
|
||||
title="Our Process - Simple & Efficient"
|
||||
description="Four easy steps to a junk-free space."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
showStepNumbers={true}
|
||||
features={[
|
||||
{
|
||||
id: 1, title: "Schedule & Quote", description: "Book online or call. We provide instant pricing based on volume—no surprises, no hidden fees.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=1" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=2" }
|
||||
},
|
||||
{
|
||||
id: 2, title: "Professional Pickup", description: "Our trained crew arrives on time, handles your items safely, and loads everything quickly.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=3" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=4" }
|
||||
},
|
||||
{
|
||||
id: 3, title: "Responsible Disposal", description: "We recycle, donate, or dispose responsibly. Your junk is handled with care for the environment.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=5" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=6" }
|
||||
},
|
||||
{
|
||||
id: 4, title: "Clean Finish", description: "We clean up after ourselves and leave your space spotless. Job done right, first time.", phoneOne: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=7" },
|
||||
phoneTwo: { imageSrc: "http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=8" }
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<PricingCardThree
|
||||
<PricingCardFive
|
||||
tag="Simple, Transparent Pricing"
|
||||
title="Choose Your Plan"
|
||||
description="We quote based on volume—never by the hour. Schedule online, get instant pricing, book same-day."
|
||||
@@ -161,30 +164,21 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
plans={[
|
||||
{
|
||||
id: "1", price: "$150–$300", name: "Small Load", buttons: [
|
||||
{ text: "Get Quote", href: "contact" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
id: "1", tag: "Small Load", price: "$150–$300", period: "", description: "Single room or storage area", button: { text: "Get Quote", href: "contact" },
|
||||
featuresTitle: "Includes", features: [
|
||||
"Single room or storage area", "Up to 1/4 truckload", "Same-day scheduling available", "Professional hauling & disposal"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "2", badge: "Most Popular", badgeIcon: Sparkles,
|
||||
price: "$300–$600", name: "Medium Load", buttons: [
|
||||
{ text: "Get Quote", href: "contact" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
id: "2", tag: "Medium Load", tagIcon: Sparkles,
|
||||
price: "$300–$600", period: "", description: "Multiple rooms or garage", button: { text: "Get Quote", href: "contact" },
|
||||
featuresTitle: "Includes", features: [
|
||||
"Multiple rooms or garage", "Up to 1/2 truckload", "Fastest turnaround time", "Eco-friendly recycling & donation"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "3", price: "$600–$1200", name: "Large Load", buttons: [
|
||||
{ text: "Get Quote", href: "contact" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
id: "3", tag: "Large Load", price: "$600–$1200", period: "", description: "Entire home or commercial space", button: { text: "Get Quote", href: "contact" },
|
||||
featuresTitle: "Includes", features: [
|
||||
"Entire home or commercial space", "Full truckload or multiple trips", "Priority scheduling", "Dedicated crew assignment"
|
||||
]
|
||||
}
|
||||
@@ -192,6 +186,31 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardEleven
|
||||
tag="Success Stories"
|
||||
title="What Our Numbers Tell"
|
||||
description="Real results from real customers who trusted us with their junk removal."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
metrics={[
|
||||
{
|
||||
id: "1", title: "2,000+ Jobs Completed", description: "From small rooms to entire estates", value: "100% On-Time", imageSrc: "/placeholders/placeholder1.webp?_wi=1", imageAlt: "Jobs completed metric"
|
||||
},
|
||||
{
|
||||
id: "2", title: "98% Same-Day Service", description: "Fast scheduling in most areas", value: "Next Day", imageSrc: "/placeholders/placeholder1.webp?_wi=2", imageAlt: "Same-day service metric"
|
||||
},
|
||||
{
|
||||
id: "3", title: "65% Eco-Friendly Diversion", description: "Recycled or donated instead of landfill", value: "Responsible", imageSrc: "/placeholders/placeholder1.webp?_wi=3", imageAlt: "Eco-friendly disposal metric"
|
||||
},
|
||||
{
|
||||
id: "4", title: "4.9/5 Customer Rating", description: "Consistently excellent service", value: "Trusted", imageSrc: "/placeholders/placeholder1.webp?_wi=4", imageAlt: "Customer rating metric"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardSix
|
||||
tag="Client Stories"
|
||||
@@ -223,47 +242,96 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqSplitText
|
||||
sideTitle="Frequently Asked Questions"
|
||||
sideDescription="Everything you need to know about our junk removal service."
|
||||
textPosition="left"
|
||||
useInvertedBackground={false}
|
||||
faqsAnimation="slide-up"
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "How quickly can you schedule removal?", content: "We offer same-day service in most areas! Call or book online to get an instant quote and schedule pickup as soon as tomorrow or today if you book early enough."
|
||||
},
|
||||
{
|
||||
id: "2", title: "What items do you remove?", content: "We remove almost everything—furniture, appliances, electronics, construction debris, yard waste, and more. Just let us know what you have, and we'll give you a quote."
|
||||
},
|
||||
{
|
||||
id: "3", title: "Do you provide free quotes?", content: "Yes! Quotes are always free. We assess the items, provide transparent pricing with no hidden fees, and you only pay what we quote."
|
||||
},
|
||||
{
|
||||
id: "4", title: "What happens to the junk?", content: "We prioritize recycling and donation. Items that can be reused go to local charities or resale centers. The rest is disposed of responsibly and environmentally friendly."
|
||||
},
|
||||
{
|
||||
id: "5", title: "Do I need to be home during pickup?", content: "Yes, we need someone home to show us what needs to be removed and ensure access to all areas. It typically takes 1-3 hours depending on the volume."
|
||||
},
|
||||
{
|
||||
id: "6", title: "How much does it cost?", content: "Pricing depends on volume. Small loads: $150–$300. Medium loads: $300–$600. Large loads: $600–$1200. Get an instant quote when you call or book online."
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactCenter
|
||||
tag="Ready to Declutter?"
|
||||
<ContactSplitForm
|
||||
title="Book Your Junk Removal Today"
|
||||
description="Get an instant quote and schedule your removal. Same-day service available in most areas."
|
||||
tagIcon={CheckCircle}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
inputPlaceholder="Enter your email for a quick quote"
|
||||
buttonText="Book Now"
|
||||
termsText="We respect your privacy. Unsubscribe anytime. By booking, you agree to our Terms and Service Policy."
|
||||
mediaAnimation="slide-up"
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||
{ name: "phone", type: "tel", placeholder: "Phone Number", required: true }
|
||||
]}
|
||||
textarea={{ name: "description", placeholder: "What needs to be removed?", required: true }}
|
||||
buttonText="Get Free Quote"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="socialProof" data-section="socialProof">
|
||||
<SocialProofOne
|
||||
tag="Trusted Partners"
|
||||
title="Featured In & Trusted By"
|
||||
description="Recognized for excellence in junk removal and customer service."
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
names={[
|
||||
"Local Business Bureau", "Home Advisor", "Google Reviews", "Angi (formerly Angie's List)", "Better Business Bureau", "Yelp"
|
||||
]}
|
||||
speed={40}
|
||||
showCard={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
<FooterMedia
|
||||
imageSrc="http://img.b2bpic.net/free-photo/woman-cleaning-house_53876-30618.jpg?_wi=9"
|
||||
imageAlt="JunkGone service"
|
||||
logoText="JunkGone"
|
||||
columns={[
|
||||
{
|
||||
items: [
|
||||
title: "Services", items: [
|
||||
{ label: "Services", href: "services" },
|
||||
{ label: "Why Us", href: "about" },
|
||||
{ label: "Pricing", href: "pricing" }
|
||||
]
|
||||
},
|
||||
{
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{ label: "Testimonials", href: "testimonials" },
|
||||
{ label: "Book Now", href: "contact" },
|
||||
{ label: "Contact", href: "contact" }
|
||||
{ label: "FAQ", href: "faq" }
|
||||
]
|
||||
},
|
||||
{
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Accessibility", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
items: [
|
||||
title: "Contact", items: [
|
||||
{ label: "Phone", href: "#" },
|
||||
{ label: "Email", href: "#" },
|
||||
{ label: "Service Area", href: "#" }
|
||||
|
||||
Reference in New Issue
Block a user