18 Commits

Author SHA1 Message Date
92359ee7d1 Update src/app/sold-cars/page.tsx 2026-04-17 00:28:00 +00:00
ce8157405e Update src/app/cars-for-sale/page.tsx 2026-04-17 00:27:59 +00:00
28af75d6c2 Update src/app/cars-for-rent/page.tsx 2026-04-17 00:27:59 +00:00
b56f6d48eb Update src/app/sold-cars/page.tsx 2026-04-17 00:27:35 +00:00
8366c71efe Update src/app/contact/page.tsx 2026-04-17 00:27:35 +00:00
ebf345b94f Update src/app/cars-for-sale/page.tsx 2026-04-17 00:27:34 +00:00
9a5f0a2a6e Update src/app/cars-for-rent/page.tsx 2026-04-17 00:27:34 +00:00
02b5bc9dd6 Add src/app/sold-cars/page.tsx 2026-04-17 00:27:05 +00:00
f04eb69295 Update src/app/page.tsx 2026-04-17 00:27:05 +00:00
8310e87704 Update src/app/contact/page.tsx 2026-04-17 00:27:05 +00:00
6d3c1f864a Add src/app/cars-for-sale/page.tsx 2026-04-17 00:27:04 +00:00
1b3ae89620 Add src/app/cars-for-rent/page.tsx 2026-04-17 00:27:04 +00:00
49ca598970 Merge version_2 into main
Merge version_2 into main
2026-04-16 13:41:19 +00:00
69f34c3d17 Update src/app/contact/page.tsx 2026-04-16 13:41:16 +00:00
0491519d01 Merge version_2 into main
Merge version_2 into main
2026-04-16 13:40:54 +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
6 changed files with 165 additions and 217 deletions

View File

@@ -0,0 +1,28 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function CarsForRentPage() {
return (
<ThemeProvider defaultButtonVariant="hover-bubble" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<NavbarLayoutFloatingInline navItems={[{name: "Home", id: "/"}, {name: "Cars for Rent", id: "/cars-for-rent"}, {name: "Cars for Sale", id: "/cars-for-sale"}]} brandName="MaintainPro" button={{text: "Contact"}} />
<ProductCardTwo
title="Cars for Rent"
description="Explore our premium fleet available for short and long-term rental."
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
useInvertedBackground={false}
products={[
{ id: "1", brand: "Toyota", name: "Camry", price: "$50/day", rating: 4.8, reviewCount: "120", imageSrc: "https://images.unsplash.com/photo-1621007947382-bb3c3994e3fb" },
{ id: "2", brand: "Honda", name: "CR-V", price: "$70/day", rating: 4.9, reviewCount: "85", imageSrc: "https://images.unsplash.com/photo-1542362567-b07e54256795?_wi=1" },
{ id: "3", brand: "Ford", name: "Escape", price: "$60/day", rating: 4.7, reviewCount: "95", imageSrc: "https://images.unsplash.com/photo-1542362567-b07e54256795?_wi=2" }
]}
/>
<FooterMedia logoText="MaintainPro" columns={[]} videoSrc="https://www.w3schools.com/howto/rain.mp4?_wi=1" />
</ThemeProvider>
);
}

View File

@@ -0,0 +1,28 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function CarsForSalePage() {
return (
<ThemeProvider defaultButtonVariant="hover-bubble" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<NavbarLayoutFloatingInline navItems={[{name: "Home", id: "/"}, {name: "Cars for Rent", id: "/cars-for-rent"}, {name: "Cars for Sale", id: "/cars-for-sale"}]} brandName="MaintainPro" button={{text: "Contact"}} />
<ProductCardTwo
title="Cars for Sale"
description="Certified pre-owned vehicles with full maintenance history."
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
useInvertedBackground={false}
products={[
{ id: "1", brand: "Ford", name: "Mustang", price: "$35,000", rating: 5.0, reviewCount: "45", imageSrc: "https://images.unsplash.com/photo-1547744152-14d9851142bc?_wi=1" },
{ id: "2", brand: "Tesla", name: "Model 3", price: "$42,000", rating: 4.7, reviewCount: "200", imageSrc: "https://images.unsplash.com/photo-1560958089-b8a1949cea8c" },
{ id: "3", brand: "Toyota", name: "Corolla", price: "$22,000", rating: 4.6, reviewCount: "150", imageSrc: "https://images.unsplash.com/photo-1547744152-14d9851142bc?_wi=2" }
]}
/>
<FooterMedia logoText="MaintainPro" columns={[]} videoSrc="https://www.w3schools.com/howto/rain.mp4?_wi=2" />
</ThemeProvider>
);
}

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

@@ -0,0 +1,33 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactSplit from '@/components/sections/contact/ContactSplit';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
export default function ContactPage() {
return (
<ThemeProvider defaultButtonVariant="hover-bubble" 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: "Cars for Rent", id: "/cars-for-rent" },
{ name: "Cars for Sale", id: "/cars-for-sale" },
]}
brandName="MaintainPro"
button={{text: "Contact"}}
/>
<ContactSplit
tag="Contact"
title="Contact Us"
description="Get in touch for professional service."
background={{ variant: "sparkles-gradient" }}
mediaAnimation="blur-reveal"
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/lot-old-instruments-tool-box_146671-19093.jpg"
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -6,10 +6,10 @@ import AboutMetric from '@/components/sections/about/AboutMetric';
import ContactSplit from '@/components/sections/contact/ContactSplit'; import ContactSplit from '@/components/sections/contact/ContactSplit';
import FeatureCardNineteen from '@/components/sections/feature/FeatureCardNineteen'; import FeatureCardNineteen from '@/components/sections/feature/FeatureCardNineteen';
import FooterMedia from '@/components/sections/footer/FooterMedia'; import FooterMedia from '@/components/sections/footer/FooterMedia';
import HeroBillboardTestimonial from '@/components/sections/hero/HeroBillboardTestimonial'; import HeroPersonalLinks from '@/components/sections/hero/HeroPersonalLinks';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix'; import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import { Award, Clock, Zap } from "lucide-react"; import { Award, Clock, Zap, Facebook, Instagram, Twitter, Linkedin } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -29,122 +29,31 @@ export default function LandingPage() {
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={[
{ { name: "Services", id: "services" },
name: "Services", { name: "About", id: "about" },
id: "services", { name: "Testimonials", id: "testimonials" },
}, { name: "Contact", id: "contact" },
{
name: "About",
id: "about",
},
{
name: "Testimonials",
id: "testimonials",
},
{
name: "Contact",
id: "contact",
},
]} ]}
brandName="MaintainPro" brandName="MaintainPro"
button={{ button={{
text: "Get Quote", text: "Get Quote", href: "#contact" }}
href: "#contact",
}}
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardTestimonial <HeroPersonalLinks
useInvertedBackground={false} background={{ variant: "gradient-bars" }}
background={{
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." socialLinks={[
testimonials={[ { icon: Facebook, label: "Facebook", href: "#" },
{ { icon: Instagram, label: "Instagram", href: "#" },
name: "Sarah Miller", { icon: Twitter, label: "Twitter", href: "#" },
handle: "@smallbiz", { icon: Linkedin, label: "LinkedIn", href: "#" },
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",
handle: "@techcorp",
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",
handle: "@growthco",
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",
handle: "@localstore",
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",
handle: "@agency",
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" linkCards={[
imageAlt="Technician performing equipment repair" { title: "Preventive Care", description: "Routine maintenance to avoid costly downtime.", button: { text: "Learn More" } },
mediaAnimation="blur-reveal" { title: "Emergency Repair", description: "Available 24/7 for urgent operational needs.", button: { text: "Call Now" } },
avatars={[ { title: "Facility Expert", description: "Comprehensive HVAC and electrical support.", button: { text: "Services" } }
{
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",
},
{
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",
},
{
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",
},
{
src: "http://img.b2bpic.net/free-photo/portrait-smiling-owner-standing-bakery-shop_1170-2076.jpg",
alt: "Client avatar 4",
},
{
src: "http://img.b2bpic.net/free-photo/closeup-handsome-middle-aged-business-leader_1262-4822.jpg",
alt: "Client avatar 5",
},
]}
marqueeItems={[
{
type: "text",
text: "24/7 Support",
},
{
type: "text",
text: "Licensed Professionals",
},
{
type: "text",
text: "Rapid Response",
},
{
type: "text",
text: "Nationwide Coverage",
},
{
type: "text",
text: "Affordable Rates",
},
]} ]}
/> />
</div> </div>
@@ -154,21 +63,9 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
title="Operational Partners You Can Trust" title="Operational Partners You Can Trust"
metrics={[ metrics={[
{ { icon: Clock, label: "Response Time", value: "24/7" },
icon: Clock, { icon: Award, label: "Certified Pros", value: "100%" },
label: "Response Time", { icon: Zap, label: "Service Packages", value: "5+" },
value: "24/7",
},
{
icon: Award,
label: "Certified Pros",
value: "100%",
},
{
icon: Zap,
label: "Service Packages",
value: "5+",
},
]} ]}
metricsAnimation="slide-up" metricsAnimation="slide-up"
/> />
@@ -179,27 +76,9 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ { 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" },
tag: "Essential", { 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: "Preventive Maintenance", { 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" },
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",
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",
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."
@@ -212,41 +91,11 @@ export default function LandingPage() {
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ { 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" },
id: "1", { 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: "Sarah Miller", { 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" },
handle: "@smallbiz", { 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" },
testimonial: "Excellent service and professionalism throughout the whole process.", { 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" },
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",
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",
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",
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",
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."
@@ -256,9 +105,7 @@ export default function LandingPage() {
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<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."
@@ -273,32 +120,8 @@ export default function LandingPage() {
imageSrc="http://img.b2bpic.net/free-photo/large-modern-architecture-hall_181624-239.jpg" imageSrc="http://img.b2bpic.net/free-photo/large-modern-architecture-hall_181624-239.jpg"
logoText="MaintainPro" logoText="MaintainPro"
columns={[ columns={[
{ { title: "Company", items: [{ label: "About", href: "#about" }, { label: "Services", href: "#services" }] },
title: "Company", { title: "Support", items: [{ label: "FAQ", href: "#faq" }, { label: "Contact", href: "#contact" }] },
items: [
{
label: "About",
href: "#about",
},
{
label: "Services",
href: "#services",
},
],
},
{
title: "Support",
items: [
{
label: "FAQ",
href: "#faq",
},
{
label: "Contact",
href: "#contact",
},
],
},
]} ]}
/> />
</div> </div>

View File

@@ -0,0 +1,36 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
export default function SoldCarsPage() {
return (
<ThemeProvider defaultButtonVariant="hover-bubble" 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: "Contact"}}
/>
<ProductCardTwo
title="Recently Sold Vehicles"
description="A showcase of cars we've serviced and successfully sold."
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
products={[
{ id: "1", brand: "Toyota", name: "Camry", price: "$15,000", rating: 5, reviewCount: "12", imageSrc: "http://img.b2bpic.net/free-photo/toyota-camry.jpg?_wi=1" },
{ id: "2", brand: "Honda", name: "Civic", price: "$12,000", rating: 4, reviewCount: "8", imageSrc: "http://img.b2bpic.net/free-photo/honda-civic.jpg" },
{ id: "3", brand: "Mazda", name: "CX-5", price: "$18,000", rating: 5, reviewCount: "15", imageSrc: "http://img.b2bpic.net/free-photo/toyota-camry.jpg?_wi=2" }
]}
/>
</ReactLenis>
</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);