Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6433d92d4a | |||
| 5e08ead01a | |||
| 909a84f2d3 | |||
| 9729d28b7a | |||
| 763c2b1d0b | |||
| e8c06a527d |
@@ -4,7 +4,6 @@ import { Inter } from "next/font/google";
|
|||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import "@/lib/gsap-setup";
|
import "@/lib/gsap-setup";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||||
import { Public_Sans } from "next/font/google";
|
import { Public_Sans } from "next/font/google";
|
||||||
|
|
||||||
@@ -33,7 +32,7 @@ export default function RootLayout({
|
|||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${publicSans.variable} ${inter.variable} antialiased`}>
|
<body className={`${publicSans.variable} ${inter.variable} antialiased`}>
|
||||||
<Tag />
|
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
|
|||||||
245
src/app/page.tsx
245
src/app/page.tsx
@@ -32,26 +32,17 @@ export default function LandingPage() {
|
|||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{
|
||||||
name: "Home",
|
name: "Home", id: "hero"},
|
||||||
id: "hero",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Services",
|
name: "Services", id: "services"},
|
||||||
id: "services",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Gallery",
|
name: "Gallery", id: "gallery"},
|
||||||
id: "gallery",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Contact",
|
name: "Contact", id: "contact"},
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="Cooper’s Home Solutions"
|
brandName="Cooper’s Home Solutions"
|
||||||
button={{
|
button={{
|
||||||
text: "Get a Quote",
|
text: "Get a Quote", href: "#quote"
|
||||||
href: "#quote",
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -62,74 +53,40 @@ export default function LandingPage() {
|
|||||||
description="Cooper’s Home Solutions helps homeowners with remodeling, repairs, painting, tile, carpentry, and everyday home improvement projects."
|
description="Cooper’s Home Solutions helps homeowners with remodeling, repairs, painting, tile, carpentry, and everyday home improvement projects."
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
name: "Sarah J.",
|
name: "Sarah J.", handle: "@portsmouth-resident", testimonial: "Excellent service and professionalism on my kitchen reno.", rating: 5,
|
||||||
handle: "@portsmouth-resident",
|
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-man-traveling-by-train_23-2150510174.jpg"},
|
||||||
testimonial: "Excellent service and professionalism on my kitchen reno.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-man-traveling-by-train_23-2150510174.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Mike D.",
|
name: "Mike D.", handle: "@hampton-roads-local", testimonial: "Handled my structural repairs perfectly and on time.", rating: 5,
|
||||||
handle: "@hampton-roads-local",
|
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-latin-architect-smiling-while-looking-online-information-laptop-working-construction-plans_662251-552.jpg"},
|
||||||
testimonial: "Handled my structural repairs perfectly and on time.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-latin-architect-smiling-while-looking-online-information-laptop-working-construction-plans_662251-552.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Linda W.",
|
name: "Linda W.", handle: "@happy-client", testimonial: "Very happy with the bathroom tile update, looks amazing.", rating: 5,
|
||||||
handle: "@happy-client",
|
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721520.jpg"},
|
||||||
testimonial: "Very happy with the bathroom tile update, looks amazing.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721520.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Tom B.",
|
name: "Tom B.", handle: "@homeowner", testimonial: "Trustworthy local team, highly recommended for any job.", rating: 5,
|
||||||
handle: "@homeowner",
|
imageSrc: "http://img.b2bpic.net/free-photo/set-designer-work-indoors_23-2149836986.jpg"},
|
||||||
testimonial: "Trustworthy local team, highly recommended for any job.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/set-designer-work-indoors_23-2149836986.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "Amy K.",
|
name: "Amy K.", handle: "@neighbor", testimonial: "Efficient, clean work and very transparent communication.", rating: 5,
|
||||||
handle: "@neighbor",
|
imageSrc: "http://img.b2bpic.net/free-photo/man-standing-talking-colleagues_23-2147668768.jpg"},
|
||||||
testimonial: "Efficient, clean work and very transparent communication.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/man-standing-talking-colleagues_23-2147668768.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Request a Free Estimate",
|
text: "Request a Free Estimate", href: "#quote"},
|
||||||
href: "#quote",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
text: "Call (757) 578-6565",
|
text: "Call (757) 578-6565", href: "tel:7575786565"},
|
||||||
href: "tel:7575786565",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/working-day-two-indian-men-discussing-something-looking-involved_259150-59414.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/working-day-two-indian-men-discussing-something-looking-involved_259150-59414.jpg"
|
||||||
showBlur={true}
|
showBlur={true}
|
||||||
avatars={[
|
avatars={[
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/female-plumber-working-fix-problems-client-s-house_23-2150990733.jpg",
|
src: "http://img.b2bpic.net/free-photo/female-plumber-working-fix-problems-client-s-house_23-2150990733.jpg", alt: "Client 1"},
|
||||||
alt: "Client 1",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/medium-shot-man-working-as-plumber_23-2150746293.jpg",
|
src: "http://img.b2bpic.net/free-photo/medium-shot-man-working-as-plumber_23-2150746293.jpg", alt: "Client 2"},
|
||||||
alt: "Client 2",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/social-worker-helping-senior-woman_23-2149031386.jpg",
|
src: "http://img.b2bpic.net/free-photo/social-worker-helping-senior-woman_23-2149031386.jpg", alt: "Client 3"},
|
||||||
alt: "Client 3",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/medium-shot-man-woman-working_23-2148899726.jpg",
|
src: "http://img.b2bpic.net/free-photo/medium-shot-man-woman-working_23-2148899726.jpg", alt: "Client 4"},
|
||||||
alt: "Client 4",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/people-renovating-house-concept_53876-20671.jpg",
|
src: "http://img.b2bpic.net/free-photo/people-renovating-house-concept_53876-20671.jpg", alt: "Client 5"},
|
||||||
alt: "Client 5",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
avatarText="Trusted by 500+ local families"
|
avatarText="Trusted by 500+ local families"
|
||||||
/>
|
/>
|
||||||
@@ -155,64 +112,28 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
id: "s1",
|
id: "s1", title: "Home Remodeling", author: "Pro Team", description: "Full-service custom remodeling.", imageSrc: "http://img.b2bpic.net/free-photo/man-making-surfboard_107420-94948.jpg", tags: [
|
||||||
title: "Home Remodeling",
|
"Construction"],
|
||||||
author: "Pro Team",
|
|
||||||
description: "Full-service custom remodeling.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/man-making-surfboard_107420-94948.jpg",
|
|
||||||
tags: [
|
|
||||||
"Construction",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "s2",
|
id: "s2", title: "Painting & Drywall", author: "Pro Team", description: "Quality interior finish work.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-female-using-paint-rollers-with-color-blue_181624-1569.jpg", tags: [
|
||||||
title: "Painting & Drywall",
|
"Finish"],
|
||||||
author: "Pro Team",
|
|
||||||
description: "Quality interior finish work.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-female-using-paint-rollers-with-color-blue_181624-1569.jpg",
|
|
||||||
tags: [
|
|
||||||
"Finish",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "s3",
|
id: "s3", title: "Tile Installation", author: "Pro Team", description: "Precision floor and wall tiling.", imageSrc: "http://img.b2bpic.net/free-photo/black-stone-tile-wall-textures_74190-2412.jpg", tags: [
|
||||||
title: "Tile Installation",
|
"Construction"],
|
||||||
author: "Pro Team",
|
|
||||||
description: "Precision floor and wall tiling.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/black-stone-tile-wall-textures_74190-2412.jpg",
|
|
||||||
tags: [
|
|
||||||
"Construction",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "s4",
|
id: "s4", title: "Carpentry & Repairs", author: "Pro Team", description: "Structural fixes and custom builds.", imageSrc: "http://img.b2bpic.net/free-photo/interior-modern-office_23-2147668767.jpg", tags: [
|
||||||
title: "Carpentry & Repairs",
|
"Construction"],
|
||||||
author: "Pro Team",
|
|
||||||
description: "Structural fixes and custom builds.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/interior-modern-office_23-2147668767.jpg",
|
|
||||||
tags: [
|
|
||||||
"Construction",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "s5",
|
id: "s5", title: "Handyman Projects", author: "Pro Team", description: "Small home fixes and repairs.", imageSrc: "http://img.b2bpic.net/free-photo/woman-holding-paintbrush-front-easel-workshop_23-2147889913.jpg", tags: [
|
||||||
title: "Handyman Projects",
|
"General"],
|
||||||
author: "Pro Team",
|
|
||||||
description: "Small home fixes and repairs.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-holding-paintbrush-front-easel-workshop_23-2147889913.jpg",
|
|
||||||
tags: [
|
|
||||||
"General",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "s6",
|
id: "s6", title: "Maintenance", author: "Pro Team", description: "Gutter & exterior power washing.", imageSrc: "http://img.b2bpic.net/free-photo/installing-ceramic-floor-tiles-construction-site-construction-workers-workers-laying-tiles-floor-with-cement-adhesive-renovating-floor_166373-2132.jpg", tags: [
|
||||||
title: "Maintenance",
|
"Maintenance"],
|
||||||
author: "Pro Team",
|
|
||||||
description: "Gutter & exterior power washing.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/installing-ceramic-floor-tiles-construction-site-construction-workers-workers-laying-tiles-floor-with-cement-adhesive-renovating-floor_166373-2132.jpg",
|
|
||||||
tags: [
|
|
||||||
"Maintenance",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
title="Our Services"
|
title="Our Services"
|
||||||
@@ -226,25 +147,13 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "f1",
|
id: "f1", title: "Local Hampton Roads service", content: "We live and work right here in the area."},
|
||||||
title: "Local Hampton Roads service",
|
|
||||||
content: "We live and work right here in the area.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "f2",
|
id: "f2", title: "Hands-on residential work", content: "You deal directly with us, the owners."},
|
||||||
title: "Hands-on residential work",
|
|
||||||
content: "You deal directly with us, the owners.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "f3",
|
id: "f3", title: "Flexible home improvement", content: "We handle projects of all sizes."},
|
||||||
title: "Flexible home improvement",
|
|
||||||
content: "We handle projects of all sizes.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "f4",
|
id: "f4", title: "Simple communication", content: "Clear timelines and updates."},
|
||||||
title: "Simple communication",
|
|
||||||
content: "Clear timelines and updates.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Why Choose Us"
|
title="Why Choose Us"
|
||||||
description="Built around the homeowner’s needs."
|
description="Built around the homeowner’s needs."
|
||||||
@@ -260,41 +169,17 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "p1",
|
id: "p1", name: "Recent Work", price: "Renovation", imageSrc: "http://img.b2bpic.net/free-photo/smiley-old-man-with-helmet-showing-approval_23-2148269393.jpg"},
|
||||||
name: "Recent Work",
|
|
||||||
price: "Renovation",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/smiley-old-man-with-helmet-showing-approval_23-2148269393.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "p2",
|
id: "p2", name: "Kitchen Update", price: "Completed", imageSrc: "http://img.b2bpic.net/free-photo/male-carpenter-placing-plank-wooden-surface-workshop_23-2147944908.jpg"},
|
||||||
name: "Kitchen Update",
|
|
||||||
price: "Completed",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/male-carpenter-placing-plank-wooden-surface-workshop_23-2147944908.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "p3",
|
id: "p3", name: "Before & After", price: "Painting", imageSrc: "http://img.b2bpic.net/free-photo/tiler-working-renovation-apartment_23-2149278630.jpg"},
|
||||||
name: "Before & After",
|
|
||||||
price: "Painting",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/tiler-working-renovation-apartment_23-2149278630.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "p4",
|
id: "p4", name: "Project Photo", price: "Details", imageSrc: "http://img.b2bpic.net/free-photo/male-coworkers-office-with-lunch_273609-6308.jpg"},
|
||||||
name: "Project Photo",
|
|
||||||
price: "Details",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/male-coworkers-office-with-lunch_273609-6308.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "p5",
|
id: "p5", name: "Quality Finish", price: "Expert", imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-working-project_23-2149721885.jpg"},
|
||||||
name: "Quality Finish",
|
|
||||||
price: "Expert",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-man-working-project_23-2149721885.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "p6",
|
id: "p6", name: "Recent Project", price: "Completed", imageSrc: "http://img.b2bpic.net/free-photo/man-holding-paint-roll-head_23-2147703596.jpg"},
|
||||||
name: "Recent Project",
|
|
||||||
price: "Completed",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/man-holding-paint-roll-head_23-2147703596.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Project Gallery"
|
title="Project Gallery"
|
||||||
description="See some of our recent work."
|
description="See some of our recent work."
|
||||||
@@ -308,26 +193,11 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
metrics={[
|
metrics={[
|
||||||
{
|
{
|
||||||
id: "m1",
|
id: "m1", value: "(757) 578-6565", title: "Phone", description: "Call us for estimates.", imageSrc: "http://img.b2bpic.net/free-photo/modern-concrete-apartment-building_250224-11.jpg"},
|
||||||
value: "(757) 578-6565",
|
|
||||||
title: "Phone",
|
|
||||||
description: "Call us for estimates.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-concrete-apartment-building_250224-11.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "m2",
|
id: "m2", value: "Portsmouth, VA", title: "Service Area", description: "Serving Hampton Roads.", imageSrc: "http://img.b2bpic.net/free-photo/set-designer-work-indoors_23-2149836952.jpg"},
|
||||||
value: "Portsmouth, VA",
|
|
||||||
title: "Service Area",
|
|
||||||
description: "Serving Hampton Roads.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/set-designer-work-indoors_23-2149836952.jpg",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "m3",
|
id: "m3", value: "Facebook", title: "Online", description: "View recent projects.", imageSrc: "http://img.b2bpic.net/free-photo/man-working-as-truck-driver_23-2151489800.jpg"},
|
||||||
value: "Facebook",
|
|
||||||
title: "Online",
|
|
||||||
description: "View recent projects.",
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/man-working-as-truck-driver_23-2151489800.jpg",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Contact Information"
|
title="Contact Information"
|
||||||
description="Cooper’s Home Solutions is ready to serve you."
|
description="Cooper’s Home Solutions is ready to serve you."
|
||||||
@@ -338,16 +208,13 @@ export default function LandingPage() {
|
|||||||
<ContactCTA
|
<ContactCTA
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{
|
||||||
variant: "plain",
|
variant: "plain"}}
|
||||||
}}
|
|
||||||
tag="Get Started"
|
tag="Get Started"
|
||||||
title="Request a Free Estimate"
|
title="Request a Free Estimate"
|
||||||
description="Tell us about your project and we'll be in touch."
|
description="Tell us about your project and we'll be in touch."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Send Quote Request",
|
text: "Send Quote Request", href: "#"},
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -358,25 +225,19 @@ export default function LandingPage() {
|
|||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
label: "Facebook",
|
label: "Facebook", href: "https://facebook.com/coopershomesolutions"},
|
||||||
href: "https://facebook.com/coopershomesolutions",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
label: "Call Us",
|
label: "Call Us", href: "tel:7575786565"},
|
||||||
href: "tel:7575786565",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
label: "Request Quote",
|
label: "Request Quote", href: "#quote"},
|
||||||
href: "#quote",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
@@ -386,4 +247,4 @@ export default function LandingPage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user