37 Commits

Author SHA1 Message Date
1956f0353c Merge version_13 into main
Merge version_13 into main
2026-04-29 21:24:06 +00:00
4f64d275d4 Update src/app/page.tsx 2026-04-29 21:24:03 +00:00
7899c3f483 Merge version_11 into main
Merge version_11 into main
2026-04-29 21:16:44 +00:00
90ad442b63 Update theme fonts 2026-04-29 21:16:41 +00:00
d230b045f5 Update theme fonts 2026-04-29 21:16:41 +00:00
8d81102bdf Switch to version 11: modified src/app/styles/variables.css 2026-04-29 21:16:11 +00:00
0c2da43014 Switch to version 11: modified src/app/styles/base.css 2026-04-29 21:16:11 +00:00
938bca8b63 Switch to version 11: modified src/app/layout.tsx 2026-04-29 21:16:10 +00:00
98585f7e2d Switch to version 10: modified src/app/styles/variables.css 2026-04-29 21:16:02 +00:00
978b695afa Switch to version 10: modified src/app/styles/base.css 2026-04-29 21:16:01 +00:00
19cb1becf3 Switch to version 10: modified src/app/layout.tsx 2026-04-29 21:16:01 +00:00
c76eeadfb7 Merge version_11 into main
Merge version_11 into main
2026-04-29 21:15:15 +00:00
02ec17ee5d Update theme fonts 2026-04-29 21:15:12 +00:00
7aac347b07 Update theme fonts 2026-04-29 21:15:11 +00:00
259cfeda70 Switch to version 11: modified src/app/styles/variables.css 2026-04-29 21:11:34 +00:00
d073415f81 Merge version_12 into main
Merge version_12 into main
2026-04-29 21:11:30 +00:00
a0a5c11ca9 Update theme colors 2026-04-29 21:11:27 +00:00
c90efbc997 Merge version_11 into main
Merge version_11 into main
2026-04-29 21:10:35 +00:00
a1f5119313 Update theme colors 2026-04-29 21:10:32 +00:00
973965f407 Merge version_10 into main
Merge version_10 into main
2026-04-29 21:10:09 +00:00
9140afa92e Update theme colors 2026-04-29 21:10:05 +00:00
415caf4541 Merge version_9 into main
Merge version_9 into main
2026-04-29 21:09:50 +00:00
d6d9056641 Update theme colors 2026-04-29 21:09:46 +00:00
e5440d3e64 Merge version_8 into main
Merge version_8 into main
2026-04-29 21:09:30 +00:00
223f5d7fcc Update theme colors 2026-04-29 21:09:27 +00:00
4d7f3d0682 Merge version_7 into main
Merge version_7 into main
2026-04-29 21:08:59 +00:00
b31e32fb46 Update theme colors 2026-04-29 21:08:56 +00:00
0d2468f8f9 Merge version_6 into main
Merge version_6 into main
2026-04-29 21:08:47 +00:00
a15578ad78 Update theme colors 2026-04-29 21:08:44 +00:00
0f5e56f593 Merge version_5 into main
Merge version_5 into main
2026-04-29 21:08:26 +00:00
1adb26ef6a Update theme colors 2026-04-29 21:08:23 +00:00
33b8c7e8e2 Merge version_4 into main
Merge version_4 into main
2026-04-29 21:08:17 +00:00
c71dd3f223 Update theme colors 2026-04-29 21:08:13 +00:00
34cc4744f4 Merge version_3 into main
Merge version_3 into main
2026-04-29 21:08:03 +00:00
41435d8228 Update theme colors 2026-04-29 21:08:00 +00:00
c8fd104cab Merge version_2 into main
Merge version_2 into main
2026-04-29 21:06:41 +00:00
1e50e3ad59 Update theme colors 2026-04-29 21:06:38 +00:00
3 changed files with 54 additions and 141 deletions

View File

@@ -7,6 +7,8 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Nunito_Sans } from "next/font/google"; import { Nunito_Sans } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
import { Open_Sans } from "next/font/google";
@@ -20,8 +22,14 @@ export const metadata: Metadata = {
}, },
}; };
const nunitoSans = Nunito_Sans({
variable: "--font-nunito-sans",
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const openSans = Open_Sans({
variable: "--font-open-sans",
subsets: ["latin"], subsets: ["latin"],
}); });
@@ -33,7 +41,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${nunitoSans.variable} antialiased`}> <body className={`${inter.variable} ${openSans.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -31,17 +31,11 @@ export default function LandingPage() {
<NavbarStyleApple <NavbarStyleApple
navItems={[ navItems={[
{ {
name: "Services", name: "Services", id: "#services"},
id: "#services",
},
{ {
name: "Booking", name: "Booking", id: "#booking"},
id: "#booking",
},
{ {
name: "Contact", name: "Contact", id: "#contact"},
id: "#contact",
},
]} ]}
brandName="Super Wash" brandName="Super Wash"
/> />
@@ -50,41 +44,26 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardGallery <HeroBillboardGallery
background={{ background={{
variant: "gradient-bars", variant: "gradient-bars"}}
}}
title="Your Car Deserves the Best Care in Cape Town" title="Your Car Deserves the Best Care in Cape Town"
description="Fast, affordable, and professional car wash services in Ottery. Experience the Super Wash difference today." description="Fast, affordable, and professional car wash services in Ottery. Experience the Super Wash difference today."
buttons={[ buttons={[
{ {
text: "Book on WhatsApp", text: "Book on WhatsApp", href: "https://wa.me/27217037432"},
href: "https://wa.me/27217037432",
},
{ {
text: "Call Now", text: "Call Now", href: "tel:+27217037432"},
href: "tel:+27217037432",
},
]} ]}
mediaItems={[ mediaItems={[
{ {
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-car-washing-service_23-2149212206.jpg", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-car-washing-service_23-2149212206.jpg", imageAlt: "Super Wash Cape Town Facility"},
imageAlt: "Super Wash Cape Town Facility",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/woman-vacuuming-car-seats_23-2149316437.jpg", imageSrc: "http://img.b2bpic.net/free-photo/woman-vacuuming-car-seats_23-2149316437.jpg", imageAlt: "Expert Car Washing"},
imageAlt: "Expert Car Washing",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/disabled-fencer-special-equipment-wheelchair_23-2149229610.jpg", imageSrc: "http://img.b2bpic.net/free-photo/disabled-fencer-special-equipment-wheelchair_23-2149229610.jpg", imageAlt: "Interior Detailing Service"},
imageAlt: "Interior Detailing Service",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/man-washing-car_23-2149316432.jpg", imageSrc: "http://img.b2bpic.net/free-photo/man-washing-car_23-2149316432.jpg", imageAlt: "Man washing a car"},
imageAlt: "Man washing a car",
},
{ {
imageSrc: "http://img.b2bpic.net/free-photo/man-washing-his-car-washing-station_1157-27217.jpg", imageSrc: "http://img.b2bpic.net/free-photo/man-washing-his-car-washing-station_1157-27217.jpg", imageAlt: "Man washing his car in a washing station"},
imageAlt: "Man washing his car in a washing station",
},
]} ]}
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
/> />
@@ -96,31 +75,17 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
gridVariant="four-items-2x2-equal-grid" gridVariant="four-items-2x2-equal-grid"
useInvertedBackground={false} useInvertedBackground={false}
tag="Most Popular"
tagIcon={Tag}
products={[ products={[
{ {
id: "p1", id: "p1", name: "Exterior Wash", price: "R 95", imageSrc: "http://img.b2bpic.net/free-photo/young-man-washing-his-car-carwash_1303-27483.jpg"},
name: "Exterior Wash",
price: "R 95",
imageSrc: "http://img.b2bpic.net/free-photo/young-man-washing-his-car-carwash_1303-27483.jpg",
},
{ {
id: "p2", id: "p2", name: "Interior Cleaning", price: "R 120", imageSrc: "http://img.b2bpic.net/free-photo/close-up-car-care-process_23-2149193623.jpg"},
name: "Interior Cleaning",
price: "R 120",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-car-care-process_23-2149193623.jpg",
},
{ {
id: "p3", id: "p3", name: "Full Valet", price: "R 250", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-valet-doing-his-job_23-2150274594.jpg"},
name: "Full Valet",
price: "R 250",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-valet-doing-his-job_23-2150274594.jpg",
},
{ {
id: "p4", id: "p4", name: "Polishing & Detailing", price: "R 350", imageSrc: "http://img.b2bpic.net/free-photo/car-wash-detailing-station_1303-22285.jpg"},
name: "Polishing & Detailing",
price: "R 350",
imageSrc: "http://img.b2bpic.net/free-photo/car-wash-detailing-station_1303-22285.jpg",
},
]} ]}
title="Our Professional Services" title="Our Professional Services"
description="Premium care for every vehicle type, delivered with precision." description="Premium care for every vehicle type, delivered with precision."
@@ -135,29 +100,19 @@ export default function LandingPage() {
features={[ features={[
{ {
icon: Zap, icon: Zap,
title: "Fast Service", title: "Fast Service", description: "Get in and out quickly without sacrificing quality."},
description: "Get in and out quickly without sacrificing quality.",
},
{ {
icon: Tag, icon: Tag,
title: "Affordable Pricing", title: "Affordable Pricing", description: "Top-tier results that fit your budget."},
description: "Top-tier results that fit your budget.",
},
{ {
icon: Users, icon: Users,
title: "Friendly Staff", title: "Friendly Staff", description: "Our team is passionate about car care."},
description: "Our team is passionate about car care.",
},
{ {
icon: CheckCircle, icon: CheckCircle,
title: "Quality Results", title: "Quality Results", description: "A deep clean that brings back the showroom shine."},
description: "A deep clean that brings back the showroom shine.",
},
{ {
icon: MapPin, icon: MapPin,
title: "Convenient Location", title: "Convenient Location", description: "Located right on Ottery Road, Cape Town."},
description: "Located right on Ottery Road, Cape Town.",
},
]} ]}
title="Why Choose Super Wash?" title="Why Choose Super Wash?"
description="We treat your vehicle like it's our own, every single time." description="We treat your vehicle like it's our own, every single time."
@@ -171,47 +126,17 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ {
id: "t1", id: "t1", name: "Kevin Freeman", role: "Local Resident", testimonial: "Value for money and the service was great.", imageSrc: "http://img.b2bpic.net/free-photo/happy-business-women-posing-pointing-fingers-camera-while-sitting-table-with-coffee-cups-documents_74855-9959.jpg"},
name: "Kevin Freeman",
role: "Local Resident",
testimonial: "Value for money and the service was great.",
imageSrc: "http://img.b2bpic.net/free-photo/happy-business-women-posing-pointing-fingers-camera-while-sitting-table-with-coffee-cups-documents_74855-9959.jpg",
},
{ {
id: "t2", id: "t2", name: "Sarah Miller", role: "Customer", testimonial: "Best car wash in Ottery, very quick and efficient.", imageSrc: "http://img.b2bpic.net/free-photo/joyful-young-bald-call-center-man-wearing-headset-sitting-desk-with-work-tools-looking-laptop-showing-thumb-up-isolated-purple_141793-84110.jpg"},
name: "Sarah Miller",
role: "Customer",
testimonial: "Best car wash in Ottery, very quick and efficient.",
imageSrc: "http://img.b2bpic.net/free-photo/joyful-young-bald-call-center-man-wearing-headset-sitting-desk-with-work-tools-looking-laptop-showing-thumb-up-isolated-purple_141793-84110.jpg",
},
{ {
id: "t3", id: "t3", name: "David Mthembu", role: "Customer", testimonial: "Friendly team and my car looks brand new!", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-brunette-woman-wearing-casual-sweater-standing-red-background-pointing-fingers-camera-with-happy-funny-face-good-energy-vibes_839833-6469.jpg"},
name: "David Mthembu",
role: "Customer",
testimonial: "Friendly team and my car looks brand new!",
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-brunette-woman-wearing-casual-sweater-standing-red-background-pointing-fingers-camera-with-happy-funny-face-good-energy-vibes_839833-6469.jpg",
},
{ {
id: "t4", id: "t4", name: "Linda Jacobs", role: "Customer", testimonial: "Reliable and affordable valeting service.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-man-street_23-2148289283.jpg"},
name: "Linda Jacobs",
role: "Customer",
testimonial: "Reliable and affordable valeting service.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-man-street_23-2148289283.jpg",
},
{ {
id: "t5", id: "t5", name: "Paul Botha", role: "Customer", testimonial: "Super Wash never disappoints. Highly recommended.", imageSrc: "http://img.b2bpic.net/free-photo/happy-businesswoman-recommending-new-business-app_1262-21064.jpg"},
name: "Paul Botha",
role: "Customer",
testimonial: "Super Wash never disappoints. Highly recommended.",
imageSrc: "http://img.b2bpic.net/free-photo/happy-businesswoman-recommending-new-business-app_1262-21064.jpg",
},
{ {
id: "t6", id: "t6", name: "Anita Vermaak", role: "Customer", testimonial: "Professional detailing and great finish.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-travel-agency_23-2150433448.jpg"},
name: "Anita Vermaak",
role: "Customer",
testimonial: "Professional detailing and great finish.",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-travel-agency_23-2150433448.jpg",
},
]} ]}
title="What Our Customers Say" title="What Our Customers Say"
description="Trusted by hundreds of Cape Town locals for quality service." description="Trusted by hundreds of Cape Town locals for quality service."
@@ -235,14 +160,11 @@ export default function LandingPage() {
<ContactText <ContactText
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "gradient-bars", variant: "gradient-bars"}}
}}
text="Ready for a sparkling clean car? Tap below to book via WhatsApp." text="Ready for a sparkling clean car? Tap below to book via WhatsApp."
buttons={[ buttons={[
{ {
text: "WhatsApp Us to Book", text: "WhatsApp Us to Book", href: "https://wa.me/27217037432?text=Hi,%20I%20would%20like%20to%20book%20a%20car%20wash."},
href: "https://wa.me/27217037432?text=Hi,%20I%20would%20like%20to%20book%20a%20car%20wash.",
},
]} ]}
/> />
</div> </div>
@@ -251,18 +173,13 @@ export default function LandingPage() {
<ContactText <ContactText
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "gradient-bars", variant: "gradient-bars"}}
}}
text="Get in touch or book a slot today via phone or WhatsApp." text="Get in touch or book a slot today via phone or WhatsApp."
buttons={[ buttons={[
{ {
text: "Call: 021 703 7432", text: "Call: 021 703 7432", href: "tel:+27217037432"},
href: "tel:+27217037432",
},
{ {
text: "WhatsApp: 021 703 7432", text: "WhatsApp: 021 703 7432", href: "https://wa.me/27217037432"},
href: "https://wa.me/27217037432",
},
]} ]}
/> />
</div> </div>
@@ -273,33 +190,21 @@ export default function LandingPage() {
logoText="Super Wash" logoText="Super Wash"
columns={[ columns={[
{ {
title: "Company", title: "Company", items: [
items: [
{ {
label: "Services", label: "Services", href: "#services"},
href: "#services",
},
{ {
label: "Booking", label: "Booking", href: "#booking"},
href: "#booking",
},
{ {
label: "Contact", label: "Contact", href: "#contact"},
href: "#contact",
},
], ],
}, },
{ {
title: "Support", title: "Support", items: [
items: [
{ {
label: "Privacy Policy", label: "Privacy Policy", href: "#"},
href: "#",
},
{ {
label: "Terms of Service", label: "Terms of Service", href: "#"},
href: "#",
},
], ],
}, },
]} ]}

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-nunito-sans), sans-serif; font-family: var(--font-open-sans), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-nunito-sans), sans-serif; font-family: var(--font-inter), sans-serif;
} }