8 Commits

Author SHA1 Message Date
ece391f6aa Update src/app/page.tsx 2026-03-04 05:27:00 +00:00
ba1268ec51 Update src/app/page.tsx 2026-03-04 05:25:42 +00:00
c74859b2d4 Update src/app/page.tsx 2026-03-04 05:24:23 +00:00
a1a1de2964 Update src/app/layout.tsx 2026-03-04 05:24:23 +00:00
45a83b7e83 Merge version_1 into main
Merge version_1 into main
2026-03-04 05:20:48 +00:00
efb658dbe3 Merge version_1 into main
Merge version_1 into main
2026-03-04 05:18:11 +00:00
7b16d01144 Merge version_1 into main
Merge version_1 into main
2026-03-04 05:17:11 +00:00
1cb5e523b4 Merge version_1 into main
Merge version_1 into main
2026-03-04 05:15:37 +00:00
2 changed files with 48 additions and 75 deletions

View File

@@ -1,58 +1,22 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Manrope } from "next/font/google";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google"; import { Inter } from "next/font/google";
import "./styles/variables.css";
import "./globals.css"; import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const manrope = Manrope({ const inter = Inter({ subsets: ["latin"] });
variable: "--font-manrope", subsets: ["latin"],
});
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Mojito Roof | Professional Roof Cleaning Services", description: "Expert roof cleaning services for residential and commercial properties. Moss removal, gutter cleaning, and protective coatings. Trusted by thousands of homeowners across South Africa.", keywords: "roof cleaning, pressure washing, moss removal, gutter cleaning, roof maintenance, South Africa", metadataBase: new URL("https://mojitoroof.co.za"), title: "Mojito Roof - Professional Roof Cleaning Services", description: "Expert roof cleaning services in South Africa. Fast, reliable, and trusted by thousands of homeowners."};
alternates: {
canonical: "https://mojitoroof.co.za"
},
robots: {
index: true,
follow: true
},
openGraph: {
title: "Mojito Roof | Professional Roof Cleaning Services", description: "Transform your roof with professional cleaning services. Free inspection, expert team, proven results.", url: "https://mojitoroof.co.za", siteName: "Mojito Roof", type: "website", images: [
{
url: "http://img.b2bpic.net/free-photo/roof-old-residential-building-village-museum-bucharest-romania_1268-21641.jpg", alt: "Professional Roof Cleaning by Mojito Roof"
}
]
},
twitter: {
card: "summary_large_image", title: "Mojito Roof | Professional Roof Cleaning", description: "Expert roof cleaning and maintenance services. Get your free inspection today!", images: ["http://img.b2bpic.net/free-photo/roof-old-residential-building-village-museum-bucharest-romania_1268-21641.jpg"]
}
};
export default function RootLayout({ export default function RootLayout({
children, children,
}: Readonly<{ }: {
children: React.ReactNode; children: React.ReactNode;
}>) { }) {
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en">
<ServiceWrapper> <body className={inter.className}>
<body {children}
className={`${manrope.variable} ${halant.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<script <script
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{
@@ -1421,7 +1385,6 @@ export default function RootLayout({
}} }}
/> />
</body> </body>
</ServiceWrapper>
</html> </html>
); );
} }

View File

@@ -2,15 +2,14 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import HeroBillboardTestimonial from '@/components/sections/hero/HeroBillboardTestimonial'; import HeroCarouselLogo from '@/components/sections/hero/heroCarouselLogo/HeroCarouselLogo';
import FeatureCardTwentyFive from '@/components/sections/feature/FeatureCardTwentyFive'; import FeatureCardTwentyFive from '@/components/sections/feature/FeatureCardTwentyFive';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven'; import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne'; import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo'; import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import FaqBase from '@/components/sections/faq/FaqBase'; import FaqBase from '@/components/sections/faq/FaqBase';
import ContactText from '@/components/sections/contact/ContactText'; import ContactText from '@/components/sections/contact/ContactText';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import { Droplet, Leaf, Zap, Shield, Sparkles } from 'lucide-react'; import { Droplet, Leaf, Zap, Shield, Sparkles } from 'lucide-react';
export default function LandingPage() { export default function LandingPage() {
@@ -43,25 +42,24 @@ export default function LandingPage() {
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardTestimonial <HeroCarouselLogo
title="Professional Roof Cleaning Services" logoText="Professional Roof Cleaning Services"
description="Restore your roof's beauty and extend its lifespan with Mojito Roof's expert cleaning services. Fast, reliable, and trusted by thousands of homeowners." description="Restore your roof's beauty and extend its lifespan with Mojito Roof's expert cleaning services. Fast, reliable, and trusted by thousands of homeowners."
tag="Expert Service" slides={[
tagIcon={Shield}
imageSrc="http://img.b2bpic.net/free-photo/roof-old-residential-building-village-museum-bucharest-romania_1268-21641.jpg?_wi=1"
imageAlt="Professional roof cleaning in action"
mediaAnimation="slide-up"
testimonials={[
{ {
name: "James Mitchell", handle: "Homeowner, Johannesburg", testimonial: "Transformed my roof in just one day. Professional team, excellent results!", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/roof-old-residential-building-village-museum-bucharest-romania_1268-21641.jpg?_wi=1", imageAlt: "Professional roof cleaning service"
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-businessman-suit-looking-camera-meeting_1163-4654.jpg?_wi=1" },
{
imageSrc: "http://img.b2bpic.net/free-photo/back-view-male-musician-roof-top-holding-electric-guitar_23-2148680355.jpg?_wi=1", imageAlt: "Trusted roof cleaning team"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/auto-mechanic-inflating-tire-with-air-compressor-street_651396-3561.jpg?_wi=1", imageAlt: "Expert roof cleaning equipment"
} }
]} ]}
buttons={[ buttons={[
{ text: "Get Free Inspection", href: "#contact" }, { text: "Get Free Inspection", href: "#contact" },
{ text: "Learn More", href: "#services" } { text: "Learn More", href: "#services" }
]} ]}
background={{ variant: "glowing-orb" }}
/> />
</div> </div>
@@ -127,16 +125,28 @@ export default function LandingPage() {
</div> </div>
<div id="about" data-section="about"> <div id="about" data-section="about">
<InlineImageSplitTextAbout <div className="py-20">
heading={[ <div className="max-w-6xl mx-auto px-4">
{ type: "text", content: "Why Choose" }, <h2 className="text-4xl md:text-5xl font-light mb-8">Why Choose Mojito Roof?</h2>
{ type: "text", content: "Mojito Roof?" } <div className="space-y-6">
]} <div className="border-b pb-6">
useInvertedBackground={false} <h3 className="text-2xl font-medium mb-2">Quality</h3>
buttons={[ <p className="text-base opacity-90">We deliver exceptional results with professional-grade equipment and expert technicians trained in all roof types.</p>
{ text: "Get Started Today", href: "#contact" } </div>
]} <div className="border-b pb-6">
/> <h3 className="text-2xl font-medium mb-2">Experience</h3>
<p className="text-base opacity-90">With 15+ years in the industry, we've successfully cleaned over 5,000 roofs across South Africa.</p>
</div>
<div className="pb-6">
<h3 className="text-2xl font-medium mb-2">Reliability</h3>
<p className="text-base opacity-90">Fully insured, licensed, and bonded. We maintain the highest standards of professionalism and punctuality.</p>
</div>
</div>
<button className="mt-8 px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition">
Get Started Today
</button>
</div>
</div>
</div> </div>
<div id="metrics" data-section="metrics"> <div id="metrics" data-section="metrics">
@@ -247,10 +257,11 @@ export default function LandingPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseReveal <FooterLogoEmphasis
logoText="Mojito Roof"
columns={[ columns={[
{ {
title: "Services", items: [ items: [
{ label: "Roof Washing", href: "#services" }, { label: "Roof Washing", href: "#services" },
{ label: "Moss Removal", href: "#services" }, { label: "Moss Removal", href: "#services" },
{ label: "Gutter Cleaning", href: "#services" }, { label: "Gutter Cleaning", href: "#services" },
@@ -258,7 +269,7 @@ export default function LandingPage() {
] ]
}, },
{ {
title: "Company", items: [ items: [
{ label: "About Us", href: "#about" }, { label: "About Us", href: "#about" },
{ label: "Our Team", href: "#" }, { label: "Our Team", href: "#" },
{ label: "Reviews", href: "#testimonials" }, { label: "Reviews", href: "#testimonials" },
@@ -266,7 +277,7 @@ export default function LandingPage() {
] ]
}, },
{ {
title: "Legal", items: [ items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "#" },
{ label: "Warranty", href: "#" }, { label: "Warranty", href: "#" },
@@ -274,7 +285,6 @@ export default function LandingPage() {
] ]
} }
]} ]}
copyrightText="© 2025 Mojito Roof. All rights reserved. Professional Roof Cleaning Services."
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>