Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 15:35:26 +00:00
2 changed files with 72 additions and 54 deletions

View File

@@ -31,53 +31,71 @@ const aboutButtons = [
const features = [
{
title: "Deck Construction & Repairs", description: "Beautiful, durable decks built to last. From new construction to repairs and refinishing.", bentoComponent: "reveal-icon", icon: Building2,
title: "Deck Construction & Repairs", description: "Beautiful, durable decks built to last. From new construction to repairs and refinishing.", bentoComponent: "reveal-icon" as const,
icon: Building2,
},
{
title: "Window & Door Installation", description: "Professional installation of quality windows and doors for improved efficiency and aesthetics.", bentoComponent: "reveal-icon", icon: Square,
title: "Window & Door Installation", description: "Professional installation of quality windows and doors for improved efficiency and aesthetics.", bentoComponent: "reveal-icon" as const,
icon: Square,
},
{
title: "Drywall & Interior Finishing", description: "Expert drywall installation, finishing, and repairs for smooth, professional interiors.", bentoComponent: "reveal-icon", icon: Palette,
title: "Drywall & Interior Finishing", description: "Expert drywall installation, finishing, and repairs for smooth, professional interiors.", bentoComponent: "reveal-icon" as const,
icon: Palette,
},
{
title: "Bathroom Remodeling", description: "Complete bathroom upgrades including fixtures, tiling, and custom cabinetry.", bentoComponent: "reveal-icon", icon: Droplets,
title: "Bathroom Remodeling", description: "Complete bathroom upgrades including fixtures, tiling, and custom cabinetry.", bentoComponent: "reveal-icon" as const,
icon: Droplets,
},
{
title: "Flooring Installation", description: "Professional installation of hardwood, laminate, tile, and other quality flooring options.", bentoComponent: "reveal-icon", icon: Layers,
title: "Flooring Installation", description: "Professional installation of hardwood, laminate, tile, and other quality flooring options.", bentoComponent: "reveal-icon" as const,
icon: Layers,
},
{
title: "General Carpentry", description: "Custom carpentry solutions including shelving, trim work, and built-in cabinetry.", bentoComponent: "reveal-icon", icon: Ruler,
title: "General Carpentry", description: "Custom carpentry solutions including shelving, trim work, and built-in cabinetry.", bentoComponent: "reveal-icon" as const,
icon: Ruler,
},
];
const testimonials = [
{
id: "1", name: "Robert Martinez", handle: "Homeowner", testimonial: "Tyler and his team transformed our backyard with an amazing deck. The attention to detail was incredible, and they finished on schedule. Highly recommend!", imageSrc: "http://img.b2bpic.net/free-photo/ambitious-handsome-young-stylish-mature-male-with-beard-big-blue-eyes-smiling-excited-pleased-grin-standing-trendy-suit-gray-wall-waiting-chance-show-skills-gray-wall_176420-22711.jpg?_wi=1", imageAlt: "Robert Martinez"},
id: "1", name: "Robert Martinez", handle: "Homeowner", testimonial: "Tyler and his team transformed our backyard with an amazing deck. The attention to detail was incredible, and they finished on schedule. Highly recommend!", imageSrc: "http://img.b2bpic.net/free-photo/ambitious-handsome-young-stylish-mature-male-with-beard-big-blue-eyes-smiling-excited-pleased-grin-standing-trendy-suit-gray-wall-waiting-chance-show-skills-gray-wall_176420-22711.jpg", imageAlt: "Robert Martinez"
},
{
id: "2", name: "Sarah Johnson", handle: "Property Manager", testimonial: "Professional, reliable, and affordable. They completed our bathroom remodel ahead of schedule without compromising quality. Our tenants love it.", imageSrc: "http://img.b2bpic.net/free-photo/young-lady-propping-chin-clasped-hands_176474-94499.jpg?_wi=1", imageAlt: "Sarah Johnson"},
id: "2", name: "Sarah Johnson", handle: "Property Manager", testimonial: "Professional, reliable, and affordable. They completed our bathroom remodel ahead of schedule without compromising quality. Our tenants love it.", imageSrc: "http://img.b2bpic.net/free-photo/young-lady-propping-chin-clasped-hands_176474-94499.jpg", imageAlt: "Sarah Johnson"
},
{
id: "3", name: "Michael Chen", handle: "Homeowner", testimonial: "We had new windows installed and doors replaced. The workmanship is outstanding, and they were respectful throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-work_23-2149145121.jpg", imageAlt: "Michael Chen"},
id: "3", name: "Michael Chen", handle: "Homeowner", testimonial: "We had new windows installed and doors replaced. The workmanship is outstanding, and they were respectful throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-work_23-2149145121.jpg", imageAlt: "Michael Chen"
},
{
id: "4", name: "Jennifer Williams", handle: "Homeowner", testimonial: "From initial quote to final handoff, The Community Builders exceeded expectations. Clear communication, fair pricing, and exceptional results.", imageSrc: "http://img.b2bpic.net/free-photo/baking-time-with-best-grandmother_329181-17830.jpg", imageAlt: "Jennifer Williams"},
id: "4", name: "Jennifer Williams", handle: "Homeowner", testimonial: "From initial quote to final handoff, The Community Builders exceeded expectations. Clear communication, fair pricing, and exceptional results.", imageSrc: "http://img.b2bpic.net/free-photo/baking-time-with-best-grandmother_329181-17830.jpg", imageAlt: "Jennifer Williams"
},
{
id: "5", name: "David Anderson", handle: "Real Estate Professional", testimonial: "I've referred multiple clients to The Community Builders. They consistently deliver quality work that increases property value.", imageSrc: "http://img.b2bpic.net/free-photo/ambitious-handsome-young-stylish-mature-male-with-beard-big-blue-eyes-smiling-excited-pleased-grin-standing-trendy-suit-gray-wall-waiting-chance-show-skills-gray-wall_176420-22711.jpg?_wi=2", imageAlt: "David Anderson"},
id: "5", name: "David Anderson", handle: "Real Estate Professional", testimonial: "I've referred multiple clients to The Community Builders. They consistently deliver quality work that increases property value.", imageSrc: "http://img.b2bpic.net/free-photo/ambitious-handsome-young-stylish-mature-male-with-beard-big-blue-eyes-smiling-excited-pleased-grin-standing-trendy-suit-gray-wall-waiting-chance-show-skills-gray-wall_176420-22711.jpg", imageAlt: "David Anderson"
},
{
id: "6", name: "Lisa Thompson", handle: "Homeowner", testimonial: "Small or large, they treat every project with the same level of care. Our flooring installation was perfect, and the drywall work was flawless.", imageSrc: "http://img.b2bpic.net/free-photo/young-lady-propping-chin-clasped-hands_176474-94499.jpg?_wi=2", imageAlt: "Lisa Thompson"},
id: "6", name: "Lisa Thompson", handle: "Homeowner", testimonial: "Small or large, they treat every project with the same level of care. Our flooring installation was perfect, and the drywall work was flawless.", imageSrc: "http://img.b2bpic.net/free-photo/young-lady-propping-chin-clasped-hands_176474-94499.jpg", imageAlt: "Lisa Thompson"
},
];
const faqs = [
{
id: "1", title: "How do I get a free quote?", content: "Contact us through our website or call directly. We'll schedule a time to discuss your project, assess the scope, and provide a detailed, obligation-free estimate within 48 hours."},
id: "1", title: "How do I get a free quote?", content: "Contact us through our website or call directly. We'll schedule a time to discuss your project, assess the scope, and provide a detailed, obligation-free estimate within 48 hours."
},
{
id: "2", title: "What types of projects do you handle?", content: "We specialize in decks, windows, doors, drywall, bathroom remodeling, flooring, and general carpentry. Whether it's a small repair or a full renovation, we're equipped to help."},
id: "2", title: "What types of projects do you handle?", content: "We specialize in decks, windows, doors, drywall, bathroom remodeling, flooring, and general carpentry. Whether it's a small repair or a full renovation, we're equipped to help."
},
{
id: "3", title: "How long does a typical project take?", content: "Project timelines vary based on scope and complexity. A simple repair might take days, while a full renovation could take weeks. We'll provide a clear timeline during the estimate phase."},
id: "3", title: "How long does a typical project take?", content: "Project timelines vary based on scope and complexity. A simple repair might take days, while a full renovation could take weeks. We'll provide a clear timeline during the estimate phase."
},
{
id: "4", title: "Do you handle small jobs?", content: "Absolutely! We treat small repairs and maintenance projects with the same professionalism and care as larger renovations. Quality and reliability matter regardless of project size."},
id: "4", title: "Do you handle small jobs?", content: "Absolutely! We treat small repairs and maintenance projects with the same professionalism and care as larger renovations. Quality and reliability matter regardless of project size."
},
{
id: "5", title: "What areas do you serve?", content: "We serve the local community and surrounding areas. Contact us to confirm we service your location or discuss potential exceptions for larger projects."},
id: "5", title: "What areas do you serve?", content: "We serve the local community and surrounding areas. Contact us to confirm we service your location or discuss potential exceptions for larger projects."
},
{
id: "6", title: "Do you provide warranties?", content: "Yes, all our work is backed by our professional guarantee. We stand behind our craftsmanship and are committed to your complete satisfaction."},
id: "6", title: "Do you provide warranties?", content: "Yes, all our work is backed by our professional guarantee. We stand behind our craftsmanship and are committed to your complete satisfaction."
},
];
const footerColumns = [
@@ -152,7 +170,8 @@ export default function LandingPage() {
<TextSplitAbout
title="Built on Integrity & Craftsmanship"
description={[
"The Community Builders LLC is led by Tyler, a master craftsman with years of experience delivering exceptional results. We believe every project—whether a small repair or a full renovation—deserves meticulous attention to detail and transparent communication.", "Our approach prioritizes reliability, quality work, and customer satisfaction. We treat your home with the same care and professionalism regardless of project size. Your vision becomes our mission, and your satisfaction is our ultimate measure of success."]}
"The Community Builders LLC is led by Tyler, a master craftsman with years of experience delivering exceptional results. We believe every project—whether a small repair or a full renovation—deserves meticulous attention to detail and transparent communication.", "Our approach prioritizes reliability, quality work, and customer satisfaction. We treat your home with the same care and professionalism regardless of project size. Your vision becomes our mission, and your satisfaction is our ultimate measure of success."
]}
buttons={aboutButtons}
showBorder={true}
useInvertedBackground={false}
@@ -196,7 +215,8 @@ export default function LandingPage() {
tagIcon={Shield}
tagAnimation="slide-up"
names={[
"Local Real Estate Associations", "Home Improvement Councils", "Contractor Referral Networks", "Community Builder Guilds", "Professional Carpentry Standards", "Quality Assurance Partnerships", "Customer Review Leaders", "Trusted Service Providers"]}
"Local Real Estate Associations", "Home Improvement Councils", "Contractor Referral Networks", "Community Builder Guilds", "Professional Carpentry Standards", "Quality Assurance Partnerships", "Customer Review Leaders", "Trusted Service Providers"
]}
textboxLayout="default"
useInvertedBackground={false}
showCard={true}

View File

@@ -1,51 +1,49 @@
"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;
className?: string;
fontSize?: number;
fontFamily?: string;
fontWeight?: number | string;
fill?: string;
letterSpacing?: number;
textAnchor?: 'start' | 'middle' | 'end';
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text,
className = '',
fontSize = 24,
fontFamily = 'system-ui, -apple-system, sans-serif',
fontWeight = 600,
fill = 'currentColor',
letterSpacing = 0,
textAnchor = 'start',
}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
viewBox={`0 0 ${text.length * fontSize * 0.6} ${fontSize + 10}`}
xmlns="http://www.w3.org/2000/svg"
className={className}
role="img"
aria-label={`${logoText} logo`}
aria-label={text}
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
y={fontSize}
fontSize={fontSize}
fontFamily={fontFamily}
fontWeight={fontWeight}
fill={fill}
letterSpacing={letterSpacing}
textAnchor={textAnchor}
dominantBaseline="middle"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;