Merge version_3 into main #5

Merged
bender merged 2 commits from version_3 into main 2026-03-09 09:11:36 +00:00
2 changed files with 29 additions and 13 deletions

View File

@@ -1,13 +1,17 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/providers/ServiceWrapper";
import { Tag } from "@/components/Tag";
const inter = Inter({ variable: "--font-inter", subsets: ["latin"] });
const geist = Geist({
variable: "--font-geist-sans", subsets: ["latin"],
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono", subsets: ["latin"],
});
export const metadata: Metadata = {
title: "ProRoof - Expert Roofing Solutions", description: "Trusted roofing contractors delivering premium quality installations, repairs, and maintenance. Over 20 years of excellence protecting families and businesses."};
title: "ProRoof - Expert Roofing Solutions", description: "Professional roofing contractors delivering premium quality installations, repairs, and maintenance. Over 20 years of excellence protecting families and businesses."};
export default function RootLayout({
children,
@@ -16,12 +20,21 @@ export default function RootLayout({
}) {
return (
<html lang="en" suppressHydrationWarning>
<body className={`${inter.variable} antialiased`}>
<ServiceWrapper>
<Tag />
{children}
</ServiceWrapper>
<script async src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<body className={`${geist.variable} ${geistMono.variable}`}>
<script
dangerouslySetInnerHTML={{
__html: `
try {
if (localStorage.getItem('theme') === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document.documentElement.classList.add('dark')
} else {
document.documentElement.classList.remove('dark')
}
} catch (e) {}
`,
}}
/>
{children}
<script
dangerouslySetInnerHTML={{

View File

@@ -10,7 +10,7 @@ import TestimonialCardSixteen from '@/components/sections/testimonial/Testimonia
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import { Shield, AlertCircle } from 'lucide-react';
import { Shield, AlertCircle, Mail, Phone, MapPin } from 'lucide-react';
export default function LandingPage() {
return (
@@ -246,6 +246,9 @@ export default function LandingPage() {
inputPlaceholder="Enter your email address"
buttonText="Request Quote"
termsText="By submitting this form, you agree to our Terms of Service and Privacy Policy. We'll contact you within 24 hours."
onSubmit={(email) => {
console.log('Contact form submitted with email:', email);
}}
/>
</div>
@@ -256,7 +259,7 @@ export default function LandingPage() {
text: "Privacy Policy", href: "#"
}}
rightLink={{
text: "Terms of Service", href: "#"
text: "Contact: (555) 123-4567", href: "tel:+15551234567"
}}
/>
</div>