11 Commits

Author SHA1 Message Date
f42c8fc2ce Merge version_2 into main
Merge version_2 into main
2026-03-04 05:27:04 +00:00
ece391f6aa Update src/app/page.tsx 2026-03-04 05:27:00 +00:00
b45c702498 Merge version_2 into main
Merge version_2 into main
2026-03-04 05:25:46 +00:00
ba1268ec51 Update src/app/page.tsx 2026-03-04 05:25:42 +00:00
942c446a24 Merge version_2 into main
Merge version_2 into main
2026-03-04 05:24:27 +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,59 +1,23 @@
import type { Metadata } from "next";
import { Manrope } from "next/font/google";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import "./styles/variables.css";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const manrope = Manrope({
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"],
});
const inter = Inter({ subsets: ["latin"] });
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"),
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"]
}
};
title: "Mojito Roof - Professional Roof Cleaning Services", description: "Expert roof cleaning services in South Africa. Fast, reliable, and trusted by thousands of homeowners."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${manrope.variable} ${halant.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body className={inter.className}>
{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1421,7 +1385,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -2,15 +2,14 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
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 InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import FaqBase from '@/components/sections/faq/FaqBase';
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';
export default function LandingPage() {
@@ -43,25 +42,24 @@ export default function LandingPage() {
</div>
<div id="hero" data-section="hero">
<HeroBillboardTestimonial
title="Professional Roof Cleaning Services"
<HeroCarouselLogo
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."
tag="Expert Service"
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={[
slides={[
{
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/smiling-young-businessman-suit-looking-camera-meeting_1163-4654.jpg?_wi=1"
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/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={[
{ text: "Get Free Inspection", href: "#contact" },
{ text: "Learn More", href: "#services" }
]}
background={{ variant: "glowing-orb" }}
/>
</div>
@@ -127,16 +125,28 @@ export default function LandingPage() {
</div>
<div id="about" data-section="about">
<InlineImageSplitTextAbout
heading={[
{ type: "text", content: "Why Choose" },
{ type: "text", content: "Mojito Roof?" }
]}
useInvertedBackground={false}
buttons={[
{ text: "Get Started Today", href: "#contact" }
]}
/>
<div className="py-20">
<div className="max-w-6xl mx-auto px-4">
<h2 className="text-4xl md:text-5xl font-light mb-8">Why Choose Mojito Roof?</h2>
<div className="space-y-6">
<div className="border-b pb-6">
<h3 className="text-2xl font-medium mb-2">Quality</h3>
<p className="text-base opacity-90">We deliver exceptional results with professional-grade equipment and expert technicians trained in all roof types.</p>
</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 id="metrics" data-section="metrics">
@@ -247,10 +257,11 @@ export default function LandingPage() {
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
<FooterLogoEmphasis
logoText="Mojito Roof"
columns={[
{
title: "Services", items: [
items: [
{ label: "Roof Washing", href: "#services" },
{ label: "Moss Removal", 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: "Our Team", href: "#" },
{ label: "Reviews", href: "#testimonials" },
@@ -266,7 +277,7 @@ export default function LandingPage() {
]
},
{
title: "Legal", items: [
items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Warranty", href: "#" },
@@ -274,7 +285,6 @@ export default function LandingPage() {
]
}
]}
copyrightText="© 2025 Mojito Roof. All rights reserved. Professional Roof Cleaning Services."
/>
</div>
</ThemeProvider>