Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1956f0353c | |||
| 4f64d275d4 | |||
| 7899c3f483 | |||
| 90ad442b63 | |||
| d230b045f5 | |||
| 8d81102bdf | |||
| 0c2da43014 | |||
| 938bca8b63 | |||
| 98585f7e2d | |||
| 978b695afa | |||
| 19cb1becf3 | |||
| c76eeadfb7 | |||
| 02ec17ee5d | |||
| 7aac347b07 | |||
| 259cfeda70 | |||
| d073415f81 | |||
| a0a5c11ca9 | |||
| c90efbc997 | |||
| a1f5119313 | |||
| 973965f407 | |||
| 9140afa92e | |||
| 415caf4541 | |||
| d6d9056641 | |||
| e5440d3e64 | |||
| 223f5d7fcc | |||
| 4d7f3d0682 | |||
| b31e32fb46 | |||
| 0d2468f8f9 | |||
| a15578ad78 | |||
| 0f5e56f593 | |||
| 1adb26ef6a | |||
| 33b8c7e8e2 | |||
| c71dd3f223 | |||
| 34cc4744f4 | |||
| 41435d8228 | |||
| c8fd104cab | |||
| 1e50e3ad59 |
@@ -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
|
||||||
|
|||||||
175
src/app/page.tsx
175
src/app/page.tsx
@@ -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: "#",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user