4 Commits

Author SHA1 Message Date
69f34c3d17 Update src/app/contact/page.tsx 2026-04-16 13:41:16 +00:00
d889e5b6dd Update src/app/styles/variables.css 2026-04-16 13:40:51 +00:00
398e3ed372 Update src/app/page.tsx 2026-04-16 13:40:51 +00:00
6952aed6a5 Add src/app/contact/page.tsx 2026-04-16 13:40:50 +00:00
3 changed files with 102 additions and 160 deletions

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

@@ -0,0 +1,50 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function ContactPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "Contact", id: "/contact" }
]}
brandName="MaintainPro"
button={{ text: "Get Started" }}
/>
<div className="pt-32 pb-20">
<ContactSplit
tag="Contact Us"
title="Get in Touch"
description="We are here to assist with your maintenance needs. Send us a message and our team will get back to you promptly."
background={{ variant: "plain" }}
useInvertedBackground={false}
mediaAnimation="slide-up"
/>
</div>
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/large-modern-architecture-hall_181624-239.jpg"
logoText="MaintainPro"
columns={[]}
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -30,27 +30,17 @@ export default function LandingPage() {
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={[
{ {
name: "Services", name: "Services", id: "services"},
id: "services",
},
{ {
name: "About", name: "About", id: "about"},
id: "about",
},
{ {
name: "Testimonials", name: "Testimonials", id: "testimonials"},
id: "testimonials",
},
{ {
name: "Contact", name: "Contact", id: "contact"},
id: "contact",
},
]} ]}
brandName="MaintainPro" brandName="MaintainPro"
button={{ button={{
text: "Get Quote", text: "Get Quote", href: "#contact"}}
href: "#contact",
}}
/> />
</div> </div>
@@ -58,93 +48,52 @@ export default function LandingPage() {
<HeroBillboardTestimonial <HeroBillboardTestimonial
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "gradient-bars", variant: "gradient-bars"}}
}}
title="Keep Your Business Running Smoothly" title="Keep Your Business Running Smoothly"
description="Fast, reliable, and professional repair and maintenance services tailored for small businesses. Don't let downtime cost you your success." description="Fast, reliable, and professional repair and maintenance services tailored for small businesses. Don't let downtime cost you your success."
testimonials={[ testimonials={[
{ {
name: "Sarah Miller", name: "Sarah Miller", handle: "@smallbiz", testimonial: "MaintainPro saved us hours of downtime. Incredible response time!", rating: 5,
handle: "@smallbiz", imageSrc: "http://img.b2bpic.net/free-photo/vendor-flowers_1098-13113.jpg"},
testimonial: "MaintainPro saved us hours of downtime. Incredible response time!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/vendor-flowers_1098-13113.jpg",
},
{ {
name: "James Chen", name: "James Chen", handle: "@techcorp", testimonial: "Their preventive maintenance keeps our machinery in top condition.", rating: 5,
handle: "@techcorp", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg"},
testimonial: "Their preventive maintenance keeps our machinery in top condition.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg",
},
{ {
name: "Elena Rodriguez", name: "Elena Rodriguez", handle: "@growthco", testimonial: "Transparent pricing and flexible scheduling — a perfect partner.", rating: 5,
handle: "@growthco", imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-successful-happy-smiling-young-woman-beige-jacket-glasses-standing-lobby-office-reception-greeting-business-client-with-pleasant-grin-inviting-company_197531-30568.jpg"},
testimonial: "Transparent pricing and flexible scheduling — a perfect partner.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-successful-happy-smiling-young-woman-beige-jacket-glasses-standing-lobby-office-reception-greeting-business-client-with-pleasant-grin-inviting-company_197531-30568.jpg",
},
{ {
name: "David Smith", name: "David Smith", handle: "@localstore", testimonial: "Best maintenance service we have ever used. Highly professional.", rating: 5,
handle: "@localstore", imageSrc: "http://img.b2bpic.net/free-photo/content-senior-businessman-with-arms-crossed_1262-1790.jpg"},
testimonial: "Best maintenance service we have ever used. Highly professional.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/content-senior-businessman-with-arms-crossed_1262-1790.jpg",
},
{ {
name: "Linda White", name: "Linda White", handle: "@agency", testimonial: "Reliable, fast, and always there when we need an emergency repair.", rating: 5,
handle: "@agency", imageSrc: "http://img.b2bpic.net/free-photo/smiling-middle-aged-business-leader-window_1262-5674.jpg"},
testimonial: "Reliable, fast, and always there when we need an emergency repair.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-middle-aged-business-leader-window_1262-5674.jpg",
},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/mechanic-looking-tool-box_1170-1199.jpg" imageSrc="http://img.b2bpic.net/free-photo/mechanic-looking-tool-box_1170-1199.jpg"
imageAlt="Technician performing equipment repair" imageAlt="Technician performing equipment repair"
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
avatars={[ avatars={[
{ {
src: "http://img.b2bpic.net/free-photo/confident-asian-businesswoman-showing-thumbs-up-standing-near-entrance-her-cafe-restaurant_1258-199355.jpg", src: "http://img.b2bpic.net/free-photo/confident-asian-businesswoman-showing-thumbs-up-standing-near-entrance-her-cafe-restaurant_1258-199355.jpg", alt: "Client avatar 1"},
alt: "Client avatar 1",
},
{ {
src: "http://img.b2bpic.net/free-photo/portrait-young-female-entrepreneur-asian-business-owner-manager-sitting-confident-smiling_1258-199004.jpg", src: "http://img.b2bpic.net/free-photo/portrait-young-female-entrepreneur-asian-business-owner-manager-sitting-confident-smiling_1258-199004.jpg", alt: "Client avatar 2"},
alt: "Client avatar 2",
},
{ {
src: "http://img.b2bpic.net/free-photo/portrait-young-businesswoman-her-own-cafe-manager-standing-near-entrance-inviting-you-posi_1258-127578.jpg", src: "http://img.b2bpic.net/free-photo/portrait-young-businesswoman-her-own-cafe-manager-standing-near-entrance-inviting-you-posi_1258-127578.jpg", alt: "Client avatar 3"},
alt: "Client avatar 3",
},
{ {
src: "http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2076.jpg", src: "http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2076.jpg", alt: "Client avatar 4"},
alt: "Client avatar 4",
},
{ {
src: "http://img.b2bpic.net/free-photo/closeup-handsome-middle-aged-business-leader_1262-4822.jpg", src: "http://img.b2bpic.net/free-photo/closeup-handsome-middle-aged-business-leader_1262-4822.jpg", alt: "Client avatar 5"},
alt: "Client avatar 5",
},
]} ]}
marqueeItems={[ marqueeItems={[
{ {
type: "text", type: "text", text: "24/7 Support"},
text: "24/7 Support",
},
{ {
type: "text", type: "text", text: "Licensed Professionals"},
text: "Licensed Professionals",
},
{ {
type: "text", type: "text", text: "Rapid Response"},
text: "Rapid Response",
},
{ {
type: "text", type: "text", text: "Nationwide Coverage"},
text: "Nationwide Coverage",
},
{ {
type: "text", type: "text", text: "Affordable Rates"},
text: "Affordable Rates",
},
]} ]}
/> />
</div> </div>
@@ -156,19 +105,13 @@ export default function LandingPage() {
metrics={[ metrics={[
{ {
icon: Clock, icon: Clock,
label: "Response Time", label: "Response Time", value: "24/7"},
value: "24/7",
},
{ {
icon: Award, icon: Award,
label: "Certified Pros", label: "Certified Pros", value: "100%"},
value: "100%",
},
{ {
icon: Zap, icon: Zap,
label: "Service Packages", label: "Service Packages", value: "5+"},
value: "5+",
},
]} ]}
metricsAnimation="slide-up" metricsAnimation="slide-up"
/> />
@@ -180,26 +123,11 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ {
tag: "Essential", tag: "Essential", title: "Preventive Maintenance", subtitle: "Avoid breakdowns", description: "Scheduled inspections and upkeep to prevent costly surprises.", imageSrc: "http://img.b2bpic.net/free-photo/coworkers-servicing-hvac-system_482257-91024.jpg"},
title: "Preventive Maintenance",
subtitle: "Avoid breakdowns",
description: "Scheduled inspections and upkeep to prevent costly surprises.",
imageSrc: "http://img.b2bpic.net/free-photo/coworkers-servicing-hvac-system_482257-91024.jpg",
},
{ {
tag: "Urgent", tag: "Urgent", title: "Emergency Repairs", subtitle: "Rapid response", description: "We are available when you need us most to restore operations fast.", imageSrc: "http://img.b2bpic.net/free-photo/man-electrical-technician-working-switchboard-with-fuses_169016-24584.jpg"},
title: "Emergency Repairs",
subtitle: "Rapid response",
description: "We are available when you need us most to restore operations fast.",
imageSrc: "http://img.b2bpic.net/free-photo/man-electrical-technician-working-switchboard-with-fuses_169016-24584.jpg",
},
{ {
tag: "Core", tag: "Core", title: "Facility Servicing", subtitle: "Plumbing & HVAC", description: "Electrical, HVAC, and general facility repairs managed by experts.", imageSrc: "http://img.b2bpic.net/free-photo/plumber-making-time-out-gesture_1368-773.jpg"},
title: "Facility Servicing",
subtitle: "Plumbing & HVAC",
description: "Electrical, HVAC, and general facility repairs managed by experts.",
imageSrc: "http://img.b2bpic.net/free-photo/plumber-making-time-out-gesture_1368-773.jpg",
},
]} ]}
title="Professional Solutions for Every Need" title="Professional Solutions for Every Need"
description="From emergency repairs to routine upkeep, we handle all your operational maintenance needs." description="From emergency repairs to routine upkeep, we handle all your operational maintenance needs."
@@ -213,40 +141,15 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ {
id: "1", id: "1", name: "Sarah Miller", handle: "@smallbiz", testimonial: "Excellent service and professionalism throughout the whole process.", imageSrc: "http://img.b2bpic.net/free-photo/pleased-tilting-head-blinked-middle-aged-man-wearing-white-t-shirt-with-tie-crossing-hands-isolated-orange-wall_141793-83652.jpg"},
name: "Sarah Miller",
handle: "@smallbiz",
testimonial: "Excellent service and professionalism throughout the whole process.",
imageSrc: "http://img.b2bpic.net/free-photo/pleased-tilting-head-blinked-middle-aged-man-wearing-white-t-shirt-with-tie-crossing-hands-isolated-orange-wall_141793-83652.jpg",
},
{ {
id: "2", id: "2", name: "James Chen", handle: "@techcorp", testimonial: "Their expertise saved us significant money on long-term repairs.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-businessman-suit-looking-camera-meeting_1163-4654.jpg"},
name: "James Chen",
handle: "@techcorp",
testimonial: "Their expertise saved us significant money on long-term repairs.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-businessman-suit-looking-camera-meeting_1163-4654.jpg",
},
{ {
id: "3", id: "3", name: "Elena Rodriguez", handle: "@growthco", testimonial: "Incredibly responsive and always transparent about pricing.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-african-american-girl-sitting-cafe_1262-3083.jpg"},
name: "Elena Rodriguez",
handle: "@growthco",
testimonial: "Incredibly responsive and always transparent about pricing.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-african-american-girl-sitting-cafe_1262-3083.jpg",
},
{ {
id: "4", id: "4", name: "David Smith", handle: "@localstore", testimonial: "They understand the constraints of a small business and deliver.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-sitting-stairs_1262-3109.jpg"},
name: "David Smith",
handle: "@localstore",
testimonial: "They understand the constraints of a small business and deliver.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-sitting-stairs_1262-3109.jpg",
},
{ {
id: "5", id: "5", name: "Linda White", handle: "@agency", testimonial: "Our facility has never run more smoothly thanks to their team.", imageSrc: "http://img.b2bpic.net/free-photo/man-smiling_1187-3402.jpg"},
name: "Linda White",
handle: "@agency",
testimonial: "Our facility has never run more smoothly thanks to their team.",
imageSrc: "http://img.b2bpic.net/free-photo/man-smiling_1187-3402.jpg",
},
]} ]}
title="Trusted by Small Businesses" title="Trusted by Small Businesses"
description="See why business owners rely on MaintainPro for their operational stability." description="See why business owners rely on MaintainPro for their operational stability."
@@ -257,8 +160,7 @@ export default function LandingPage() {
<ContactSplit <ContactSplit
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "sparkles-gradient", variant: "sparkles-gradient"}}
}}
tag="Let's Talk" tag="Let's Talk"
title="Ready to Partner with Us?" title="Ready to Partner with Us?"
description="Reach out to schedule a consultation or request an emergency service quote." description="Reach out to schedule a consultation or request an emergency service quote."
@@ -274,29 +176,19 @@ export default function LandingPage() {
logoText="MaintainPro" logoText="MaintainPro"
columns={[ columns={[
{ {
title: "Company", title: "Company", items: [
items: [
{ {
label: "About", label: "About", href: "#about"},
href: "#about",
},
{ {
label: "Services", label: "Services", href: "#services"},
href: "#services",
},
], ],
}, },
{ {
title: "Support", title: "Support", items: [
items: [
{ {
label: "FAQ", label: "FAQ", href: "#faq"},
href: "#faq",
},
{ {
label: "Contact", label: "Contact", href: "#contact"},
href: "#contact",
},
], ],
}, },
]} ]}
@@ -305,4 +197,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #fafffb; --background: #020617;
--card: #f7fffa; --card: #0f172a;
--foreground: #001a0a; --foreground: #e2e8f0;
--primary-cta: #0a7039; --primary-cta: #c4d8f9;
--primary-cta-text: #fafffb; --primary-cta-text: #fafffb;
--secondary-cta: #ffffff; --secondary-cta: #041633;
--secondary-cta-text: #001a0a; --secondary-cta-text: #001a0a;
--accent: #a8d9be; --accent: #2d30f3;
--background-accent: #6bbf8e; --background-accent: #1d4ed8;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);