5 Commits

Author SHA1 Message Date
9a0bb50fd4 Update src/app/page.tsx 2026-03-04 18:26:44 +00:00
f67688905d Update src/app/layout.tsx 2026-03-04 18:26:44 +00:00
ed604ee0d5 Merge version_1 into main
Merge version_1 into main
2026-03-04 18:25:42 +00:00
0004f3c4ad Merge version_1 into main
Merge version_1 into main
2026-03-04 18:24:10 +00:00
514934ea66 Merge version_1 into main
Merge version_1 into main
2026-03-04 18:22:35 +00:00
2 changed files with 12 additions and 60 deletions

View File

@@ -1,67 +1,20 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google"; import { Inter } from "next/font/google";
import { Public_Sans } from "next/font/google";
import "./globals.css"; import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const halant = Halant({ const inter = Inter({ subsets: ["latin"] });
variable: "--font-halant",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const publicSans = Public_Sans({
variable: "--font-public-sans",
subsets: ["latin"],
});
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Blue Pools | Premium Pool Construction & Solar Solutions", title: "Blue Pools | Premium Pool & Solar Solutions", description: "Transform your outdoor space with custom pool construction and solar energy solutions. Blue Pools delivers excellence in design, installation, and maintenance across South Africa."};
description: "Expert pool construction, solar energy systems, and maintenance services across South Africa. Transform your outdoor space with Blue Pools' 15+ years of excellence.",
keywords: "pool construction, solar panels, pool maintenance, swimming pool, solar energy, South Africa, renewable energy",
metadataBase: new URL("https://bluepools.co.za"),
alternates: {
canonical: "https://bluepools.co.za",
},
robots: {
index: true,
follow: true,
},
openGraph: {
title: "Blue Pools | Premium Pool & Solar Solutions",
description: "Expert pool construction, solar energy systems, and professional maintenance. Transform your outdoor space today.",
url: "https://bluepools.co.za",
siteName: "Blue Pools",
type: "website",
},
twitter: {
card: "summary_large_image",
title: "Blue Pools | Premium Pool & Solar Solutions",
description: "Expert pool construction and solar energy systems in South Africa",
},
};
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}>{children}
<body
className={`${halant.variable} ${inter.variable} ${publicSans.variable} antialiased`}
>
<Tag />
{children}
<script <script
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{
__html: ` __html: `
@@ -1429,7 +1382,6 @@ export default function RootLayout({
}} }}
/> />
</body> </body>
</ServiceWrapper>
</html> </html>
); );
} }

View File

@@ -9,7 +9,7 @@ import ProductCardTwo from "@/components/sections/product/ProductCardTwo";
import MetricCardSeven from "@/components/sections/metrics/MetricCardSeven"; import MetricCardSeven from "@/components/sections/metrics/MetricCardSeven";
import TestimonialCardSix from "@/components/sections/testimonial/TestimonialCardSix"; import TestimonialCardSix from "@/components/sections/testimonial/TestimonialCardSix";
import FooterCard from "@/components/sections/footer/FooterCard"; import FooterCard from "@/components/sections/footer/FooterCard";
import { Award, CheckCircle, Zap, Wrench, Package, TrendingUp, Star, HelpCircle, Facebook, Instagram, Linkedin } from "lucide-react"; import { Award, CheckCircle, Zap, Wrench, Package, TrendingUp, Star, HelpCircle, Facebook, Instagram, Linkedin, Zap as ZapBadge, Shield, Award as AwardBadge } from "lucide-react";
import Link from "next/link"; import Link from "next/link";
export default function HomePage() { export default function HomePage() {
@@ -143,13 +143,13 @@ export default function HomePage() {
products={[ products={[
{ {
id: "1", brand: "AquaPro", name: "Variable Speed Pool Pump", price: "R4,500", rating: 5, id: "1", brand: "AquaPro", name: "Variable Speed Pool Pump", price: "R4,500", rating: 5,
reviewCount: "342", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-outdoor-swimming-pool-with-bed-deck-chair-umbrella-resort-travel-vacation_74190-7923.jpg?_wi=1", imageAlt: "AquaPro variable speed pool pump"}, reviewCount: "342", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-outdoor-swimming-pool-with-bed-deck-chair-umbrella-resort-travel-vacation_74190-7923.jpg?_wi=1", imageAlt: "AquaPro variable speed pool pump - Energy Efficient, 5-Year Warranty"},
{ {
id: "2", brand: "SolarTech", name: "Solar Water Heater System", price: "R12,800", rating: 5, id: "2", brand: "SolarTech", name: "Solar Water Heater System", price: "R12,800", rating: 5,
reviewCount: "156", imageSrc: "http://img.b2bpic.net/free-photo/view-water-tank-storage_23-2151748235.jpg", imageAlt: "SolarTech solar water heater"}, reviewCount: "156", imageSrc: "http://img.b2bpic.net/free-photo/view-water-tank-storage_23-2151748235.jpg", imageAlt: "SolarTech solar water heater - Energy Efficient, 10-Year Warranty"},
{ {
id: "3", brand: "ClearFlow", name: "Multi-Stage Filtration Unit", price: "R3,200", rating: 5, id: "3", brand: "ClearFlow", name: "Multi-Stage Filtration Unit", price: "R3,200", rating: 5,
reviewCount: "289", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-outdoor-swimming-pool-with-bed-deck-chair-umbrella-resort-travel-vacation_74190-7923.jpg?_wi=2", imageAlt: "ClearFlow multi-stage filtration system"}, reviewCount: "289", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-outdoor-swimming-pool-with-bed-deck-chair-umbrella-resort-travel-vacation_74190-7923.jpg?_wi=2", imageAlt: "ClearFlow multi-stage filtration system - Durable Build, Lifetime Support"},
]} ]}
/> />
</div> </div>