From d5b779311939e62eec12d3cd7da15e649cc1a511 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 10 Mar 2026 22:51:31 +0000 Subject: [PATCH 1/3] Update src/app/page.tsx --- src/app/page.tsx | 159 +++++++++++------------------------------------ 1 file changed, 37 insertions(+), 122 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index b807d94..dd18eff 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -22,8 +22,7 @@ export default function HomePage() { const footerColumns = [ { - title: "Services", - items: [ + title: "Services", items: [ { label: "Roof Repair", href: "/services" }, { label: "Roof Replacement", href: "/services" }, { label: "Inspections", href: "/services" }, @@ -31,8 +30,7 @@ export default function HomePage() { ], }, { - title: "Company", - items: [ + title: "Company", items: [ { label: "About Us", href: "#about" }, { label: "Customer Reviews", href: "#reviews" }, { label: "Contact", href: "#contact" }, @@ -40,8 +38,7 @@ export default function HomePage() { ], }, { - title: "Contact", - items: [ + title: "Contact", items: [ { label: "Phone: (551) 310-2400", href: "tel:(551)310-2400" }, { label: "Address: 260 Ryders Ln, Milltown, NJ 08850", href: "#" }, { label: "Open 24/7 for Emergencies", href: "#" }, @@ -69,9 +66,7 @@ export default function HomePage() { brandName="Navarro Family Roofing" navItems={navItems} button={{ - text: "Get Free Estimate", - href: "#contact", - }} + text: "Get Free Estimate", href: "#contact"}} /> @@ -82,13 +77,9 @@ export default function HomePage() { description="Milltown's Trusted Family Roofing Experts. Roof repairs, replacements, and inspections done right the first time." buttons={[ { - text: "Get Your Free Estimate", - href: "#contact", - }, + text: "Get Your Free Estimate", href: "#contact"}, { - text: "Call Now: (551) 310-2400", - href: "tel:(551)310-2400", - }, + text: "Call Now: (551) 310-2400", href: "tel:(551)310-2400"}, ]} imageSrc="http://img.b2bpic.net/free-photo/modern-house-architecture-navy-roof-wooden-soffit-blue-sky_626616-509.jpg" imageAlt="Professional roofing crew installing shingles" @@ -110,40 +101,20 @@ export default function HomePage() { animationType="slide-up" metrics={[ { - id: "1", - value: "4.8★", - title: "Google Rating from 58+ Reviews", - items: [ - "Real customer testimonials", - "Verified Milltown service area", - ], + id: "1", value: "4.8★", title: "Google Rating from 58+ Reviews", items: [ + "Real customer testimonials", "Verified Milltown service area"], }, { - id: "2", - value: "24/7", - title: "Emergency Roof Repair Available", - items: [ - "Same-day inspections", - "Fast emergency response", - ], + id: "2", value: "24/7", title: "Emergency Roof Repair Available", items: [ + "Same-day inspections", "Fast emergency response"], }, { - id: "3", - value: "100%", - title: "Fully Licensed & Insured", - items: [ - "All work guaranteed", - "Comprehensive coverage", - ], + id: "3", value: "100%", title: "Fully Licensed & Insured", items: [ + "All work guaranteed", "Comprehensive coverage"], }, { - id: "4", - value: "Local", - title: "Family-Owned Since Day One", - items: [ - "Community focused service", - "Personalized attention", - ], + id: "4", value: "Local", title: "Family-Owned Since Day One", items: [ + "Community focused service", "Personalized attention"], }, ]} /> @@ -157,40 +128,23 @@ export default function HomePage() { tag="Our Services" textboxLayout="default" useInvertedBackground={false} - animationType="slide-up" features={[ { id: 1, - title: "Roof Repair", - description: - "Emergency leak repairs, shingle replacement, and fast damage fixes to restore your roof's integrity.", - imageSrc: "http://img.b2bpic.net/free-photo/weathered-concrete-surface-with-grime-mildew_632498-60772.jpg?_wi=1", - imageAlt: "Professional roof repair work", - }, + title: "Roof Repair", description: + "Emergency leak repairs, shingle replacement, and fast damage fixes to restore your roof's integrity.", imageSrc: "http://img.b2bpic.net/free-photo/weathered-concrete-surface-with-grime-mildew_632498-60772.jpg", imageAlt: "Professional roof repair work"}, { id: 2, - title: "Roof Replacement", - description: - "Complete roof replacement with premium materials, expert installation, and lasting durability.", - imageSrc: "http://img.b2bpic.net/free-photo/feet-man-standing-longboard_23-2148138968.jpg?_wi=1", - imageAlt: "New roof installation on residential property", - }, + title: "Roof Replacement", description: + "Complete roof replacement with premium materials, expert installation, and lasting durability.", imageSrc: "http://img.b2bpic.net/free-photo/feet-man-standing-longboard_23-2148138968.jpg", imageAlt: "New roof installation on residential property"}, { id: 3, - title: "Roof Inspections", - description: - "Thorough inspections to identify issues early, prevent costly damage, and ensure safety.", - imageSrc: "http://img.b2bpic.net/free-photo/signing-document_1098-14224.jpg?_wi=1", - imageAlt: "Professional roof inspection and assessment", - }, + title: "Roof Inspections", description: + "Thorough inspections to identify issues early, prevent costly damage, and ensure safety.", imageSrc: "http://img.b2bpic.net/free-photo/signing-document_1098-14224.jpg", imageAlt: "Professional roof inspection and assessment"}, { id: 4, - title: "Gutter Installation", - description: - "Seamless gutter systems to protect your home from water damage and foundation issues.", - imageSrc: "http://img.b2bpic.net/free-photo/low-angle-shot-two-pipes-as-they-go-up-building-window_181624-16532.jpg?_wi=1", - imageAlt: "Professional gutter installation", - }, + title: "Gutter Installation", description: + "Seamless gutter systems to protect your home from water damage and foundation issues.", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-shot-two-pipes-as-they-go-up-building-window_181624-16532.jpg", imageAlt: "Professional gutter installation"}, ]} /> @@ -203,9 +157,7 @@ export default function HomePage() { useInvertedBackground={false} buttons={[ { - text: "Get Your Free Estimate", - href: "#contact", - }, + text: "Get Your Free Estimate", href: "#contact"}, ]} /> @@ -221,59 +173,23 @@ export default function HomePage() { animationType="slide-up" testimonials={[ { - id: "1", - name: "Sarah Johnson", - role: "Homeowner", - testimonial: - "Fast response, honest estimate, and the crew finished right on schedule. They cleaned everything up afterward. Best roofing company in Milltown!", - imageSrc: "http://img.b2bpic.net/free-photo/man-shirt-smiling-posing-kitchen_23-2148414940.jpg?_wi=1", - imageAlt: "Sarah Johnson", - }, + id: "1", name: "Sarah Johnson", role: "Homeowner", testimonial: + "Fast response, honest estimate, and the crew finished right on schedule. They cleaned everything up afterward. Best roofing company in Milltown!", imageSrc: "http://img.b2bpic.net/free-photo/man-shirt-smiling-posing-kitchen_23-2148414940.jpg", imageAlt: "Sarah Johnson"}, { - id: "2", - name: "Michael Chen", - role: "Property Owner", - testimonial: - "Emergency roof repair at 2 AM—they were here within the hour. Professional, thorough, and fair pricing. Highly recommend.", - imageSrc: "http://img.b2bpic.net/free-photo/cute-family-playing-autumn-field_1157-31256.jpg?_wi=1", - imageAlt: "Michael Chen", - }, + id: "2", name: "Michael Chen", role: "Property Owner", testimonial: + "Emergency roof repair at 2 AM—they were here within the hour. Professional, thorough, and fair pricing. Highly recommend.", imageSrc: "http://img.b2bpic.net/free-photo/cute-family-playing-autumn-field_1157-31256.jpg", imageAlt: "Michael Chen"}, { - id: "3", - name: "Emily Rodriguez", - role: "Homeowner", - testimonial: - "Navarro Family did my complete roof replacement. The team was punctual, courteous, and didn't cut corners. It's clear they stand behind their work.", - imageSrc: "http://img.b2bpic.net/free-photo/happy-successful-young-business-woman-standing-with-arms-folded-posing-co-working-coffee-shop-interior-looking-camera-smiling_74855-10036.jpg?_wi=1", - imageAlt: "Emily Rodriguez", - }, + id: "3", name: "Emily Rodriguez", role: "Homeowner", testimonial: + "Navarro Family did my complete roof replacement. The team was punctual, courteous, and didn't cut corners. It's clear they stand behind their work.", imageSrc: "http://img.b2bpic.net/free-photo/happy-successful-young-business-woman-standing-with-arms-folded-posing-co-working-coffee-shop-interior-looking-camera-smiling_74855-10036.jpg", imageAlt: "Emily Rodriguez"}, { - id: "4", - name: "David Kim", - role: "Homeowner", - testimonial: - "Called for a free inspection—they found a small leak I didn't even know about. Fixed it right away at a great price. Trustworthy service.", - imageSrc: "http://img.b2bpic.net/free-photo/cute-young-couple-together-home_23-2148350561.jpg?_wi=1", - imageAlt: "David Kim", - }, + id: "4", name: "David Kim", role: "Homeowner", testimonial: + "Called for a free inspection—they found a small leak I didn't even know about. Fixed it right away at a great price. Trustworthy service.", imageSrc: "http://img.b2bpic.net/free-photo/cute-young-couple-together-home_23-2148350561.jpg", imageAlt: "David Kim"}, { - id: "5", - name: "Jessica Brown", - role: "Property Manager", - testimonial: - "Managing multiple properties in Edison. Navarro is our go-to for roofing maintenance. Reliable, responsive, always professional.", - imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-woman-using-smartphone-cafe_1170-698.jpg?_wi=1", - imageAlt: "Jessica Brown", - }, + id: "5", name: "Jessica Brown", role: "Property Manager", testimonial: + "Managing multiple properties in Edison. Navarro is our go-to for roofing maintenance. Reliable, responsive, always professional.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-woman-using-smartphone-cafe_1170-698.jpg", imageAlt: "Jessica Brown"}, { - id: "6", - name: "Robert Martinez", - role: "Homeowner", - testimonial: - "After a bad storm, Navarro Family handled all the repairs and even worked with our insurance. Best roofing crew around.", - imageSrc: "http://img.b2bpic.net/free-photo/brunette-girl-giving-thumb-up_23-2147650951.jpg?_wi=1", - imageAlt: "Robert Martinez", - }, + id: "6", name: "Robert Martinez", role: "Homeowner", testimonial: + "After a bad storm, Navarro Family handled all the repairs and even worked with our insurance. Best roofing crew around.", imageSrc: "http://img.b2bpic.net/free-photo/brunette-girl-giving-thumb-up_23-2147650951.jpg", imageAlt: "Robert Martinez"}, ]} /> @@ -286,10 +202,9 @@ export default function HomePage() { description="Fill out the form below or call us directly at (551) 310-2400. We'll respond quickly with honest pricing and professional guidance." tagAnimation="slide-up" background={{ - variant: "sparkles-gradient", - }} + variant: "sparkles-gradient"}} useInvertedBackground={false} - imageSrc="http://img.b2bpic.net/free-photo/high-angle-shot-famous-otaki-beach-new-zealand_181624-10535.jpg?_wi=1" + imageSrc="http://img.b2bpic.net/free-photo/high-angle-shot-famous-otaki-beach-new-zealand_181624-10535.jpg" imageAlt="Milltown New Jersey homes" mediaAnimation="slide-up" mediaPosition="right" -- 2.49.1 From 6d424c905fcb779fa123e68c3f0b1606b3c12ee4 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 10 Mar 2026 22:51:32 +0000 Subject: [PATCH 2/3] Update src/app/services/page.tsx --- src/app/services/page.tsx | 55 +++++++++++---------------------------- 1 file changed, 15 insertions(+), 40 deletions(-) diff --git a/src/app/services/page.tsx b/src/app/services/page.tsx index 4eacd74..94abf8c 100644 --- a/src/app/services/page.tsx +++ b/src/app/services/page.tsx @@ -19,8 +19,7 @@ export default function ServicesPage() { const footerColumns = [ { - title: "Services", - items: [ + title: "Services", items: [ { label: "Roof Repair", href: "/services" }, { label: "Roof Replacement", href: "/services" }, { label: "Inspections", href: "/services" }, @@ -28,8 +27,7 @@ export default function ServicesPage() { ], }, { - title: "Company", - items: [ + title: "Company", items: [ { label: "About Us", href: "/#about" }, { label: "Customer Reviews", href: "/#reviews" }, { label: "Contact", href: "#contact" }, @@ -37,8 +35,7 @@ export default function ServicesPage() { ], }, { - title: "Contact", - items: [ + title: "Contact", items: [ { label: "Phone: (551) 310-2400", href: "tel:(551)310-2400" }, { label: "Address: 260 Ryders Ln, Milltown, NJ 08850", href: "#" }, { label: "Open 24/7 for Emergencies", href: "#" }, @@ -66,9 +63,7 @@ export default function ServicesPage() { brandName="Navarro Family Roofing" navItems={navItems} button={{ - text: "Get Free Estimate", - href: "#contact", - }} + text: "Get Free Estimate", href: "#contact"}} /> @@ -80,40 +75,23 @@ export default function ServicesPage() { tag="Services" textboxLayout="default" useInvertedBackground={false} - animationType="slide-up" features={[ { id: 1, - title: "Roof Repair", - description: - "We handle all types of roof repairs including emergency leak fixes, shingle replacement, flashing repair, and damage restoration. Our quick response team can be at your property within hours to prevent further water damage.", - imageSrc: "http://img.b2bpic.net/free-photo/weathered-concrete-surface-with-grime-mildew_632498-60772.jpg?_wi=2", - imageAlt: "Professional roof repair work", - }, + title: "Roof Repair", description: + "We handle all types of roof repairs including emergency leak fixes, shingle replacement, flashing repair, and damage restoration. Our quick response team can be at your property within hours to prevent further water damage.", imageSrc: "http://img.b2bpic.net/free-photo/weathered-concrete-surface-with-grime-mildew_632498-60772.jpg", imageAlt: "Professional roof repair work"}, { id: 2, - title: "Roof Replacement", - description: - "When your roof reaches the end of its life, we provide complete replacement services using premium materials and expert installation techniques. We work with your insurance and provide transparent pricing.", - imageSrc: "http://img.b2bpic.net/free-photo/feet-man-standing-longboard_23-2148138968.jpg?_wi=2", - imageAlt: "New roof installation on residential property", - }, + title: "Roof Replacement", description: + "When your roof reaches the end of its life, we provide complete replacement services using premium materials and expert installation techniques. We work with your insurance and provide transparent pricing.", imageSrc: "http://img.b2bpic.net/free-photo/feet-man-standing-longboard_23-2148138968.jpg", imageAlt: "New roof installation on residential property"}, { id: 3, - title: "Professional Inspections", - description: - "Our certified inspectors conduct thorough roof assessments to identify potential problems before they become expensive repairs. Perfect after storms or as part of your home maintenance routine.", - imageSrc: "http://img.b2bpic.net/free-photo/signing-document_1098-14224.jpg?_wi=2", - imageAlt: "Professional roof inspection and assessment", - }, + title: "Professional Inspections", description: + "Our certified inspectors conduct thorough roof assessments to identify potential problems before they become expensive repairs. Perfect after storms or as part of your home maintenance routine.", imageSrc: "http://img.b2bpic.net/free-photo/signing-document_1098-14224.jpg", imageAlt: "Professional roof inspection and assessment"}, { id: 4, - title: "Gutter Installation & Maintenance", - description: - "Protect your home's foundation with seamless gutter systems. We install, repair, and maintain gutters to ensure proper water drainage and prevent foundation damage.", - imageSrc: "http://img.b2bpic.net/free-photo/low-angle-shot-two-pipes-as-they-go-up-building-window_181624-16532.jpg?_wi=2", - imageAlt: "Professional gutter installation", - }, + title: "Gutter Installation & Maintenance", description: + "Protect your home's foundation with seamless gutter systems. We install, repair, and maintain gutters to ensure proper water drainage and prevent foundation damage.", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-shot-two-pipes-as-they-go-up-building-window_181624-16532.jpg", imageAlt: "Professional gutter installation"}, ]} /> @@ -126,9 +104,7 @@ export default function ServicesPage() { useInvertedBackground={false} buttons={[ { - text: "Schedule Your Free Inspection", - href: "#contact", - }, + text: "Schedule Your Free Inspection", href: "#contact"}, ]} /> @@ -141,10 +117,9 @@ export default function ServicesPage() { description="Contact us today for a free inspection and detailed estimate. Our team is available 24/7 for emergency repairs and ready to discuss your roofing needs." tagAnimation="slide-up" background={{ - variant: "sparkles-gradient", - }} + variant: "sparkles-gradient"}} useInvertedBackground={false} - imageSrc="http://img.b2bpic.net/free-photo/high-angle-shot-famous-otaki-beach-new-zealand_181624-10535.jpg?_wi=2" + imageSrc="http://img.b2bpic.net/free-photo/high-angle-shot-famous-otaki-beach-new-zealand_181624-10535.jpg" imageAlt="Milltown New Jersey homes" mediaAnimation="slide-up" mediaPosition="right" -- 2.49.1 From 9f0a9606a186a081652276d201c42fb27789ccb9 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 10 Mar 2026 22:51:32 +0000 Subject: [PATCH 3/3] Update src/components/shared/SvgTextLogo/SvgTextLogo.tsx --- .../shared/SvgTextLogo/SvgTextLogo.tsx | 66 ++++++++----------- 1 file changed, 29 insertions(+), 37 deletions(-) diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..66aaac1 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,43 @@ -"use client"; - -import { memo } from "react"; -import useSvgTextLogo from "./useSvgTextLogo"; -import { cls } from "@/lib/utils"; +import React from 'react'; interface SvgTextLogoProps { - logoText: string; - adjustHeightFactor?: number; - verticalAlign?: "top" | "center"; + text: string; + fontSize?: number; + fontWeight?: string | number; + fill?: string; + dominantBaseline?: 'middle' | 'hanging' | 'auto' | 'baseline' | 'central' | 'text-after-edge' | 'ideographic'; + textAnchor?: 'start' | 'middle' | 'end'; className?: string; } -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); - +export const SvgTextLogo: React.FC = ({ + text, + fontSize = 48, + fontWeight = 'bold', + fill = 'currentColor', + dominantBaseline = 'middle', + textAnchor = 'middle', + className = '', +}) => { return ( - {logoText} + {text} ); -}); +}; -SvgTextLogo.displayName = "SvgTextLogo"; - -export default SvgTextLogo; +export default SvgTextLogo; \ No newline at end of file -- 2.49.1