Merge version_2 into main #5

Merged
bender merged 2 commits from version_2 into main 2026-03-04 05:24:28 +00:00
2 changed files with 31 additions and 60 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,15 @@
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';
import FeatureCardTwentyFive from '@/components/sections/feature/FeatureCardTwentyFive';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import MediaSplitTabsAbout from '@/components/sections/about/MediaSplitTabsAbout';
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,20 +43,15 @@ export default function LandingPage() {
</div>
<div id="hero" data-section="hero">
<HeroBillboardTestimonial
<HeroCarouselLogo
title="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={[
{
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"
}
logos={[
"http://img.b2bpic.net/free-photo/roof-old-residential-building-village-museum-bucharest-romania_1268-21641.jpg?_wi=1", "http://img.b2bpic.net/free-photo/back-view-male-musician-roof-top-holding-electric-guitar_23-2148680355.jpg?_wi=1", "http://img.b2bpic.net/free-photo/auto-mechanic-inflating-tire-with-air-compressor-street_651396-3561.jpg?_wi=1"
]}
logoNames={["Professional Service", "Trusted Quality", "Expert Team"]}
buttons={[
{ text: "Get Free Inspection", href: "#contact" },
{ text: "Learn More", href: "#services" }
@@ -127,11 +122,22 @@ export default function LandingPage() {
</div>
<div id="about" data-section="about">
<InlineImageSplitTextAbout
<MediaSplitTabsAbout
heading={[
{ type: "text", content: "Why Choose" },
{ type: "text", content: "Mojito Roof?" }
]}
tabs={[
{
label: "Quality", content: "We deliver exceptional results with professional-grade equipment and expert technicians trained in all roof types."
},
{
label: "Experience", content: "With 15+ years in the industry, we've successfully cleaned over 5,000 roofs across South Africa."
},
{
label: "Reliability", content: "Fully insured, licensed, and bonded. We maintain the highest standards of professionalism and punctuality."
}
]}
useInvertedBackground={false}
buttons={[
{ text: "Get Started Today", href: "#contact" }
@@ -247,7 +253,9 @@ export default function LandingPage() {
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
<FooterLogoEmphasis
logoText="Mojito Roof"
tagline="Professional Roof Cleaning Services"
columns={[
{
title: "Services", items: [