Compare commits
9 Commits
version_5_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f7376c7bbd | |||
|
|
56cd4902bd | ||
| 46096bc2de | |||
| a0d5e89304 | |||
| 9c6e7a549c | |||
|
|
76e4a68006 | ||
| d19f1afc4d | |||
|
|
cd15b4aa88 | ||
| 237b5d6dad |
@@ -9,7 +9,6 @@ type HeroOverlayProps = {
|
||||
title: string;
|
||||
description: string;
|
||||
primaryButton: { text: string; href: string };
|
||||
secondaryButton: { text: string; href: string };
|
||||
avatars?: { src: string }[];
|
||||
avatarsLabel?: string;
|
||||
} & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never });
|
||||
@@ -19,7 +18,6 @@ const HeroOverlay = ({
|
||||
title,
|
||||
description,
|
||||
primaryButton,
|
||||
secondaryButton,
|
||||
imageSrc,
|
||||
videoSrc,
|
||||
avatars,
|
||||
@@ -62,10 +60,7 @@ const HeroOverlay = ({
|
||||
className="text-lg md:text-xl text-primary-cta-text leading-tight text-balance"
|
||||
/>
|
||||
|
||||
<div className="flex flex-wrap gap-3 mt-3">
|
||||
<Button text={primaryButton.text} href={primaryButton.href} variant="primary"/>
|
||||
<Button text={secondaryButton.text} href={secondaryButton.href} variant="secondary"animationDelay={0.1} />
|
||||
</div>
|
||||
<Button text={primaryButton.text} href={primaryButton.href} variant="primary" className="w-full mt-3" />
|
||||
|
||||
{avatars && avatars.length > 0 && (
|
||||
<div className="mt-4">
|
||||
|
||||
@@ -108,21 +108,7 @@ const ProductRatingCards = ({
|
||||
<div className="flex flex-col gap-1">
|
||||
<h3 className="text-xl font-medium truncate">{product.name}</h3>
|
||||
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="flex items-center gap-1">
|
||||
{Array.from({ length: 5 }).map((_, index) => (
|
||||
<Star
|
||||
key={index}
|
||||
className={cls(
|
||||
"size-4 text-accent",
|
||||
index < Math.floor(product.rating) ? "fill-accent" : "opacity-20"
|
||||
)}
|
||||
strokeWidth={1.5}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
<span className="text-sm">({product.reviewCount})</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p className="text-2xl font-medium">{product.price}</p>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
|
||||
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
|
||||
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import ProductRatingCards from '@/components/sections/product/ProductRatingCards';
|
||||
@@ -18,13 +18,9 @@ export default function HomePage() {
|
||||
title="Transforming San Diego Landscapes"
|
||||
description="Expert landscaping services for residential and commercial properties in San Diego. From lush gardens to sustainable designs, we bring your vision to life."
|
||||
primaryButton={{
|
||||
text: "Get a Free Estimate",
|
||||
text: "Get a Free Estimate or View Our Services",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Our Services",
|
||||
href: "#services",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/landscape-courtyard-monastery_1268-15252.jpg"
|
||||
avatarsLabel="Trusted by 500+ happy clients"
|
||||
avatars={[
|
||||
@@ -50,31 +46,27 @@ export default function HomePage() {
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesTaggedCards
|
||||
<FeaturesMediaCards
|
||||
tag="Our Services"
|
||||
title="Comprehensive Landscaping Solutions"
|
||||
description="We offer a full range of landscaping services to enhance the beauty and functionality of your property, tailored to San Diego's unique climate."
|
||||
items={[
|
||||
{
|
||||
tag: "Design & Planning",
|
||||
title: "Custom Garden Design",
|
||||
description: "From conceptualization to execution, we craft bespoke garden designs that reflect your style and thrive in our local environment.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJc0x1D8fz8hQeSgAZ5t4kfi3f/tmp/make-a-garden-1778354006288-58a0ef89.png",
|
||||
},
|
||||
{
|
||||
tag: "Water Management",
|
||||
title: "Efficient Irrigation Systems",
|
||||
description: "Minimize water waste and maintain lush landscapes with our expertly installed and maintained irrigation systems.",
|
||||
imageSrc: "https://pixabay.com/get/gee03c76caf2072a1410b6a90291c9fc2a15e13422de8717d3b37cf15dba7a3f1e04099aa7f6e3e7d85cf7719273d7c200642bf6b83aa462832eedd86198793b4_1280.jpg?id=2900029",
|
||||
},
|
||||
{
|
||||
tag: "Plant Care",
|
||||
title: "Tree & Shrub Services",
|
||||
description: "Keep your trees and shrubs healthy and beautiful with our professional pruning, removal, and plant health care programs.",
|
||||
imageSrc: "https://pixabay.com/get/gd04c1f5508662b2129847ab2da6c712392b6afe2db7416fdb3707e2fb50a3eaee99ff69ee8f054482c6c1d486f33ed08d073f38aaf82a8db2bb54007cec1c572_1280.jpg?id=5263781",
|
||||
},
|
||||
{
|
||||
tag: "Outdoor Living",
|
||||
title: "Hardscaping & Patios",
|
||||
description: "Create stunning outdoor living spaces with custom patios, walkways, fire pits, and retaining walls using durable materials.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/rustic-deck-with-patio-furniture-vegetation_23-2150698456.jpg",
|
||||
|
||||
Reference in New Issue
Block a user