34 Commits

Author SHA1 Message Date
7c40d66501 Merge version_12 into main
Merge version_12 into main
2026-05-17 17:17:34 +00:00
939d746549 Update src/app/services/page.tsx 2026-05-17 17:17:31 +00:00
e97e62bdc6 Update src/app/page.tsx 2026-05-17 17:17:30 +00:00
37aabae6b9 Merge version_11 into main
Merge version_11 into main
2026-05-17 17:14:30 +00:00
54c39ec08b Update src/app/page.tsx 2026-05-17 17:14:27 +00:00
e69bbab58e Merge version_10 into main
Merge version_10 into main
2026-05-17 17:10:08 +00:00
45a8f61531 Update src/app/services/page.tsx 2026-05-17 17:10:05 +00:00
678a1ec678 Update src/app/page.tsx 2026-05-17 17:10:05 +00:00
9413c9b275 Merge version_9 into main
Merge version_9 into main
2026-05-17 17:07:56 +00:00
ef9b1a185b Update src/app/services/page.tsx 2026-05-17 17:07:53 +00:00
832d48ffd6 Update src/app/page.tsx 2026-05-17 17:07:53 +00:00
ba36d3906a Merge version_8 into main
Merge version_8 into main
2026-05-17 17:05:05 +00:00
bf000ea903 Add src/app/services/page.tsx 2026-05-17 17:05:02 +00:00
f7d7a4dea7 Update src/app/page.tsx 2026-05-17 17:05:02 +00:00
888355ae07 Merge version_7 into main
Merge version_7 into main
2026-05-17 17:03:35 +00:00
f1e31badfc Update theme fonts 2026-05-17 17:03:32 +00:00
b75fa4199b Update theme fonts 2026-05-17 17:03:32 +00:00
719e5325f8 Merge version_7 into main
Merge version_7 into main
2026-05-17 17:02:29 +00:00
44513c5dc1 Update theme fonts 2026-05-17 17:02:26 +00:00
63e66bb20b Update theme fonts 2026-05-17 17:02:26 +00:00
400c45d7c9 Merge version_7 into main
Merge version_7 into main
2026-05-17 17:02:17 +00:00
1bdb17fade Update theme fonts 2026-05-17 17:02:14 +00:00
b545b76ef1 Update theme fonts 2026-05-17 17:02:14 +00:00
52d5f9539c Merge version_7 into main
Merge version_7 into main
2026-05-17 17:01:20 +00:00
52625996e3 Update theme colors 2026-05-17 17:01:17 +00:00
057f591152 Merge version_6 into main
Merge version_6 into main
2026-05-17 17:01:06 +00:00
becac959c2 Update theme colors 2026-05-17 17:01:00 +00:00
7d1aec3d69 Merge version_5 into main
Merge version_5 into main
2026-05-17 17:00:45 +00:00
77425bd96e Update theme colors 2026-05-17 17:00:42 +00:00
aac829167c Merge version_4 into main
Merge version_4 into main
2026-05-17 17:00:31 +00:00
6eedb58fe8 Update theme colors 2026-05-17 17:00:28 +00:00
d126283b28 Merge version_3 into main
Merge version_3 into main
2026-05-17 16:59:39 +00:00
30936dbc05 Update theme colors 2026-05-17 16:59:36 +00:00
58b82ce363 Merge version_2 into main
Merge version_2 into main
2026-05-17 16:58:52 +00:00
5 changed files with 146 additions and 118 deletions

View File

@@ -6,20 +6,26 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { DM_Sans } from "next/font/google";
import { Montserrat } from "next/font/google";
import { Libre_Baskerville } from "next/font/google";
const halant = Halant({
variable: "--font-halant",
export const metadata: Metadata = { title: 'Ugarte Landscapes & Irrigation Repair | Expert Lawn Care', description: 'Transform your outdoor space with Ugarte Landscapes & Irrigation Repair. Professional landscaping, lawn maintenance, and expert irrigation system repairs.' };
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
export const metadata: Metadata = { title: 'Ugarte Landscapes & Irrigation Repair | Expert Lawn Care', description: 'Transform your outdoor space with Ugarte Landscapes & Irrigation Repair. Professional landscaping, lawn maintenance, and expert irrigation system repairs.' };
export default function RootLayout({
children,
}: Readonly<{
@@ -28,9 +34,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} antialiased`}
>
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -2,17 +2,16 @@
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import HeroOverlayTestimonial from "@/components/sections/hero/HeroOverlayTestimonial";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroLogoBillboard from "@/components/sections/hero/HeroLogoBillboard";
import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard";
import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen";
import TeamCardSix from "@/components/sections/team/TeamCardSix";
import TeamCardOne from "@/components/sections/team/TeamCardOne";
import TestimonialCardTwelve from "@/components/sections/testimonial/TestimonialCardTwelve";
import FaqDouble from "@/components/sections/faq/FaqDouble";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import { Leaf, TreePine, Droplets, Wrench } from "lucide-react";
import { Droplets, Wrench } from "lucide-react";
export default function LandscapingPage() {
return (
@@ -30,42 +29,27 @@ export default function LandscapingPage() {
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
brandName="Ugarte Landscapes"
<NavbarStyleCentered
brandName="Ugarte Landscapes 🪴"
navItems={[
{ name: "Services", id: "services" },
{ name: "About", id: "about" },
{ name: "Team", id: "team" },
{ name: "Testimonials", id: "testimonials" },
{ name: "Contact", id: "contact" },
{ name: "Services", id: "/services" },
{ name: "About", id: "#about" },
{ name: "Team", id: "#team" },
{ name: "Testimonials", id: "#testimonials" },
{ name: "Contact", id: "#contact" },
]}
button={{ text: "Request Repair", href: "#contact" }}
/>
</div>
<div id="hero" data-section="hero">
<HeroOverlayTestimonial
tag="Expert Landscaping & Irrigation"
tagIcon={Droplets}
title="Your Irrigation and Landscape Experts"
description="Specializing in professional landscape maintenance and precision irrigation system repairs to keep your greenery thriving all year."
buttons={[
{ text: "Schedule Repair", href: "#contact" },
{ text: "Explore Services", href: "#services" },
]}
buttonAnimation="slide-up"
<HeroLogoBillboard
logoText="Ugarte Landscapes"
description="Expert irrigation and landscape maintenance services. Blurred garden backgrounds to keep things green."
buttons={[{ text: "Our Services", href: "/services" }]}
background={{ variant: "sparkles-gradient" }}
imageSrc="http://img.b2bpic.net/free-photo/view-water-tank-storage_23-2151748216.jpg"
imageAlt="Beautifully maintained lawn and irrigation system"
showDimOverlay={true}
textPosition="top"
testimonials={[
{
name: "Carlos R.", handle: "Homeowner", testimonial: "Ugarte saved my lawn after a major irrigation leak. Fast, professional, and very affordable!", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-young-businessman_23-2149153813.jpg"},
{
name: "Linda D.", handle: "Property Manager", testimonial: "Dependable service every time. They handle our landscaping and sprinkler upkeep flawlessly.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-female-staff-airport-terminal_107420-85049.jpg"},
]}
logoClassName="scale-[0.6] md:scale-75 origin-top"
/>
</div>
@@ -84,24 +68,17 @@ export default function LandscapingPage() {
/>
</div>
<div id="services" data-section="services">
<FeatureCardNineteen
tag="Our Services"
tagIcon={Leaf}
title="Landscaping & Irrigation Solutions"
description="Complete care for your outdoor environment, from soil to sprinkler."
buttonAnimation="slide-up"
textboxLayout="default"
<div id="testimonials" data-section="testimonials">
<TestimonialCardTwelve
cardTag="Our Clients"
cardTitle="See why our community chooses Ugarte Landscapes."
buttons={[{ text: "Contact Today", href: "#contact" }]}
cardAnimation="slide-up"
useInvertedBackground={false}
features={[
{
tag: "Repair", title: "Irrigation System Repair", subtitle: "Quick Fixes", description: "Got a leak or broken sprinkler head? We diagnose and repair irrigation issues fast.", imageSrc: "http://img.b2bpic.net/free-photo/gardening_23-2148020410.jpg"},
{
tag: "Maintenance", title: "Lawn Care Maintenance", subtitle: "Seasonal upkeep", description: "Expert lawn mowing, edging, and seasonal cleanup to maintain your property's value.", imageSrc: "http://img.b2bpic.net/free-photo/woman-pruning-bushes-smiling-camera_651396-3821.jpg"},
{
tag: "Design", title: "Landscaping Design", subtitle: "Creative planning", description: "Refreshing your landscape with creative planting and hardscape layout designs.", imageSrc: "http://img.b2bpic.net/free-photo/crop-hands-using-template-stencil_23-2147785517.jpg"},
{
tag: "Systems", title: "Efficiency Upgrades", subtitle: "Save water", description: "Upgrade your old controllers and spray heads to water-efficient modern systems.", imageSrc: "http://img.b2bpic.net/free-photo/smart-robotic-farmer-spraying-fertilizer-vegetable-green-plants_35913-2325.jpg"},
testimonials={[
{ id: "1", name: "Sarah B.", imageSrc: "http://img.b2bpic.net/free-photo/teen-age-youth-style-self-expression-concept-portrait-positive-happy-teenage-girl-with-bob-pinkish-hairstyle-facial-piercing-relaxing-indoors_343059-3781.jpg" },
{ id: "2", name: "Mark J.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-man-posing_23-2148563421.jpg" },
{ id: "3", name: "Elena P.", imageSrc: "http://img.b2bpic.net/free-photo/woman-smiling_1187-3196.jpg" },
]}
/>
</div>
@@ -115,12 +92,9 @@ export default function LandscapingPage() {
gridVariant="uniform-all-items-equal"
animationType="slide-up"
members={[
{
id: "1", name: "Fast Response", role: "We understand that an irrigation leak can waste water fast—we prioritize emergency repairs.", imageSrc: "http://img.b2bpic.net/free-photo/young-worker-uniform-pointing-present-box_176474-36017.jpg"},
{
id: "2", name: "Expert Diagnostics", role: "Our team is trained to identify hidden system issues before they become expensive problems.", imageSrc: "http://img.b2bpic.net/free-photo/manufacturing-plant-employee-reviews-data-green-screen-pc_482257-125767.jpg"},
{
id: "3", name: "Reliable Service", role: "We show up on time and provide clear, honest estimates before starting any work.", imageSrc: "http://img.b2bpic.net/free-photo/successful-manager-extending-hand-handshake_1262-3119.jpg"},
{ id: "1", name: "Fast Response", role: "We prioritize emergency repairs.", imageSrc: "http://img.b2bpic.net/free-photo/young-worker-uniform-pointing-present-box_176474-36017.jpg" },
{ id: "2", name: "Expert Diagnostics", role: "Identification before issues become expensive.", imageSrc: "http://img.b2bpic.net/free-photo/manufacturing-plant-employee-reviews-data-green-screen-pc_482257-125767.jpg" },
{ id: "3", name: "Reliable Service", role: "On time and clear estimates.", imageSrc: "http://img.b2bpic.net/free-photo/successful-manager-extending-hand-handshake_1262-3119.jpg" },
]}
/>
</div>
@@ -135,28 +109,9 @@ export default function LandscapingPage() {
gridVariant="uniform-all-items-equal"
animationType="slide-up"
members={[
{
id: "1", name: "Luis Ugarte", role: "Owner & Lead Technician", imageSrc: "http://img.b2bpic.net/free-photo/man-florist-working-green-house_1303-29878.jpg"},
{
id: "2", name: "Maria Gomez", role: "Landscape Specialist", imageSrc: "http://img.b2bpic.net/free-photo/female-gardener-sitting-front-potted-plants_23-2147918758.jpg"},
{
id: "3", name: "Jose Rivera", role: "Systems Coordinator", imageSrc: "http://img.b2bpic.net/free-photo/smiling-male-gardener-showing-pot-plant-his-hand_23-2147844284.jpg"},
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTwelve
cardTag="Our Clients"
cardTitle="See why our community chooses Ugarte Landscapes."
buttons={[{ text: "Contact Today", href: "#contact" }]}
cardAnimation="slide-up"
useInvertedBackground={false}
testimonials={[
{ id: "1", name: "Sarah B.", imageSrc: "http://img.b2bpic.net/free-photo/teen-age-youth-style-self-expression-concept-portrait-positive-happy-teenage-girl-with-bob-pinkish-hairstyle-facial-piercing-relaxing-indoors_343059-3781.jpg" },
{ id: "2", name: "Mark J.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-man-posing_23-2148563421.jpg" },
{ id: "3", name: "Elena P.", imageSrc: "http://img.b2bpic.net/free-photo/woman-smiling_1187-3196.jpg" },
{ id: "4", name: "Kevin O.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-girl-shows-okay-ok-signs-look-satisfied-recommend-good-company-perfect-quality-praise-good-job-well-done-standing-pleased-against-white-background_176420-54380.jpg" },
{ id: "1", name: "Luis Ugarte", role: "Owner & Lead Technician", imageSrc: "http://img.b2bpic.net/free-photo/man-florist-working-green-house_1303-29878.jpg" },
{ id: "2", name: "Maria Gomez", role: "Landscape Specialist", imageSrc: "http://img.b2bpic.net/free-photo/female-gardener-sitting-front-potted-plants_23-2147918758.jpg" },
{ id: "3", name: "Jose Rivera", role: "Systems Coordinator", imageSrc: "http://img.b2bpic.net/free-photo/smiling-male-gardener-showing-pot-plant-his-hand_23-2147844284.jpg" },
]}
/>
</div>
@@ -170,33 +125,28 @@ export default function LandscapingPage() {
useInvertedBackground={false}
faqsAnimation="slide-up"
faqs={[
{
id: "1", title: "How quickly can you fix a broken pipe?", content: "We offer fast scheduling for urgent repairs. Depending on our current queue, we can often get to you within 24-48 hours."},
{
id: "2", title: "Do you provide seasonal maintenance?", content: "Yes, we offer seasonal checks, winterization, and spring startup services for all irrigation systems."},
{
id: "3", title: "Is your estimate really free?", content: "We provide free quotes for new projects and upgrades. Repair visits may incur a small diagnostic fee if specific system testing is required."},
{ id: "1", title: "How quickly can you fix a broken pipe?", content: "Usually within 24-48 hours." },
{ id: "2", title: "Do you provide seasonal maintenance?", content: "Yes, including winterization and startup services." },
{ id: "3", title: "Is your estimate really free?", content: "Yes, for new projects and upgrades." },
]}
/>
</div>
<div id="contact" data-section="contact" className="relative overflow-hidden">
<div id="contact" data-section="contact">
<ContactSplitForm
title="Schedule a Visit"
description="Need an irrigation repair or landscaping service? Drop us a line."
useInvertedBackground={false}
mediaAnimation="none"
mediaAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/close-up-of-a-professional-irrigation-technician-working-on-an-underground-sprinkler-system-valves_864155-219.jpg"
imageAlt="Technician repairing an irrigation system"
buttonText="Submit Request"
contentClassName="!grid-cols-1 max-w-[600px] mx-auto"
mediaWrapperClassName="hidden"
inputs={[
{ name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email", required: true },
{ name: "phone", type: "tel", placeholder: "Phone Number", required: true },
]}
multiSelect={{
name: "type", label: "Service Required", options: ["Irrigation Repair", "Lawn Maintenance", "Landscape Design", "General Consultation"],
}}
multiSelect={{ name: "type", label: "Service Required", options: ["Irrigation Repair", "Lawn Maintenance", "Landscape Design", "General Consultation"] }}
textarea={{ name: "message", placeholder: "Describe your issue or project...", rows: 4, required: true }}
/>
</div>
@@ -204,19 +154,8 @@ export default function LandscapingPage() {
<div id="footer" data-section="footer">
<FooterSimple
columns={[
{
title: "Ugarte Services", items: [
{ label: "Irrigation Repair", href: "#services" },
{ label: "Lawn Care", href: "#services" },
{ label: "Landscape Design", href: "#services" },
],
},
{
title: "Support", items: [
{ label: "FAQ", href: "#faq" },
{ label: "Contact Us", href: "#contact" },
],
},
{ title: "Ugarte Services", items: [{ label: "Irrigation Repair", href: "/services" }, { label: "Lawn Care", href: "/services" }, { label: "Landscape Design", href: "/services" }] },
{ title: "Support", items: [{ label: "FAQ", href: "#faq" }, { label: "Contact Us", href: "#contact" }] },
]}
bottomLeftText="© 2026 Ugarte Landscapes & Irrigation Repair"
bottomRightText="All rights reserved."
@@ -225,4 +164,4 @@ export default function LandscapingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

85
src/app/services/page.tsx Normal file
View File

@@ -0,0 +1,85 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import { Leaf } from "lucide-react";
export default function ServicesPage() {
return (
<ThemeProvider
defaultButtonVariant="expand-hover"
defaultTextAnimation="entrance-slide"
borderRadius="soft"
contentWidth="mediumLarge"
sizing="large"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
brandName="Ugarte Landscapes 🪴"
navItems={[
{ name: "Services", id: "/services" },
{ name: "About", id: "/#about" },
{ name: "Team", id: "/#team" },
{ name: "Testimonials", id: "/#testimonials" },
{ name: "Contact", id: "/#contact" },
]}
button={{ text: "Request Repair", href: "/#contact" }}
/>
</div>
<div id="services" data-section="services" className="pt-24">
<FeatureCardNineteen
tag="Our Services"
tagIcon={Leaf}
title="Comprehensive Landscaping & Irrigation Solutions"
description="We offer a full suite of services to ensure your property remains lush, beautiful, and efficient throughout the seasons."
buttonAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
features={[
{
tag: "Repair", title: "Irrigation System Repair", subtitle: "Quick Fixes", description: "From leaky valves to broken controller issues, our experts identify and resolve irrigation problems promptly.", imageSrc: "http://img.b2bpic.net/free-photo/gardening_23-2148020410.jpg"},
{
tag: "Maintenance", title: "Lawn Care Maintenance", subtitle: "Seasonal upkeep", description: "Keep your lawn pristine with professional mowing, trimming, edging, and tailored seasonal care plans.", imageSrc: "http://img.b2bpic.net/free-photo/woman-pruning-bushes-smiling-camera_651396-3821.jpg"},
{
tag: "Design", title: "Landscaping Design", subtitle: "Creative planning", description: "Collaborate with us to refresh your landscape layout, incorporating sustainable and aesthetically pleasing garden designs.", imageSrc: "http://img.b2bpic.net/free-photo/crop-hands-using-template-stencil_23-2147785517.jpg"},
{
tag: "Systems", title: "Efficiency Upgrades", subtitle: "Water Savings", description: "Modernize your system with high-efficiency spray heads and smart controllers to drastically reduce water waste.", imageSrc: "http://img.b2bpic.net/free-photo/smart-robotic-farmer-spraying-fertilizer-vegetable-green-plants_35913-2325.jpg"},
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterSimple
columns={[
{
title: "Ugarte Services", items: [
{ label: "Irrigation Repair", href: "/services" },
{ label: "Lawn Care", href: "/services" },
{ label: "Landscape Design", href: "/services" },
],
},
{
title: "Support", items: [
{ label: "FAQ", href: "/#faq" },
{ label: "Contact Us", href: "/#contact" },
],
},
]}
bottomLeftText="© 2026 Ugarte Landscapes & Irrigation Repair"
bottomRightText="All rights reserved."
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-inter-tight), sans-serif;
font-family: var(--font-inter), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-inter-tight), sans-serif;
font-family: var(--font-libre-baskerville), serif;
}

View File

@@ -12,9 +12,9 @@
--background: #f7f9f4;
--card: #ffffff;
--foreground: #1a2e1a;
--primary-cta: #2d5a27;
--primary-cta-text: #ffffff;
--foreground: #000000;
--primary-cta: #ffffff;
--primary-cta-text: #16bf00;
--secondary-cta: #ffffff;
--secondary-cta-text: #428339;
--accent: #4a8c3f;