20 Commits

Author SHA1 Message Date
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
d126283b28 Merge version_3 into main
Merge version_3 into main
2026-05-17 16:59:39 +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 112 additions and 45 deletions

View File

@@ -6,20 +6,26 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; 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"], subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"], weight: ["400", "700"],
}); });
const inter = Inter({ const inter = Inter({
variable: "--font-inter", variable: "--font-inter",
subsets: ["latin"], 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({ export default function RootLayout({
children, children,
}: Readonly<{ }: Readonly<{
@@ -28,9 +34,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body <body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
className={`${halant.variable} ${inter.variable} antialiased`}
>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -12,7 +12,7 @@ import TestimonialCardTwelve from "@/components/sections/testimonial/Testimonial
import FaqDouble from "@/components/sections/faq/FaqDouble"; import FaqDouble from "@/components/sections/faq/FaqDouble";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm"; import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import FooterSimple from "@/components/sections/footer/FooterSimple"; import FooterSimple from "@/components/sections/footer/FooterSimple";
import { Leaf, TreePine, Droplets, Wrench } from "lucide-react"; import { Leaf, Droplets, Wrench } from "lucide-react";
export default function LandscapingPage() { export default function LandscapingPage() {
return ( return (
@@ -33,7 +33,7 @@ export default function LandscapingPage() {
<NavbarStyleFullscreen <NavbarStyleFullscreen
brandName="Ugarte Landscapes" brandName="Ugarte Landscapes"
navItems={[ navItems={[
{ name: "Services", id: "services" }, { name: "Services", id: "/services" },
{ name: "About", id: "about" }, { name: "About", id: "about" },
{ name: "Team", id: "team" }, { name: "Team", id: "team" },
{ name: "Testimonials", id: "testimonials" }, { name: "Testimonials", id: "testimonials" },
@@ -51,7 +51,7 @@ export default function LandscapingPage() {
description="Specializing in professional landscape maintenance and precision irrigation system repairs to keep your greenery thriving all year." description="Specializing in professional landscape maintenance and precision irrigation system repairs to keep your greenery thriving all year."
buttons={[ buttons={[
{ text: "Schedule Repair", href: "#contact" }, { text: "Schedule Repair", href: "#contact" },
{ text: "Explore Services", href: "#services" }, { text: "Explore Services", href: "/services" },
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/view-water-tank-storage_23-2151748216.jpg" imageSrc="http://img.b2bpic.net/free-photo/view-water-tank-storage_23-2151748216.jpg"
@@ -84,28 +84,6 @@ export default function LandscapingPage() {
/> />
</div> </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"
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"},
]}
/>
</div>
<div id="why-us" data-section="why-us"> <div id="why-us" data-section="why-us">
<TeamCardSix <TeamCardSix
title="The Ugarte Advantage" title="The Ugarte Advantage"
@@ -185,10 +163,10 @@ export default function LandscapingPage() {
title="Schedule a Visit" title="Schedule a Visit"
description="Need an irrigation repair or landscaping service? Drop us a line." description="Need an irrigation repair or landscaping service? Drop us a line."
useInvertedBackground={false} 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" buttonText="Submit Request"
contentClassName="!grid-cols-1 max-w-[600px] mx-auto"
mediaWrapperClassName="hidden"
inputs={[ inputs={[
{ name: "name", type: "text", placeholder: "Full Name", required: true }, { name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email", required: true }, { name: "email", type: "email", placeholder: "Email", required: true },
@@ -206,9 +184,9 @@ export default function LandscapingPage() {
columns={[ columns={[
{ {
title: "Ugarte Services", items: [ title: "Ugarte Services", items: [
{ label: "Irrigation Repair", href: "#services" }, { label: "Irrigation Repair", href: "/services" },
{ label: "Lawn Care", href: "#services" }, { label: "Lawn Care", href: "/services" },
{ label: "Landscape Design", href: "#services" }, { label: "Landscape Design", href: "/services" },
], ],
}, },
{ {

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 NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
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">
<NavbarStyleFullscreen
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 { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-inter-tight), sans-serif; font-family: var(--font-inter), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-inter-tight), sans-serif; font-family: var(--font-libre-baskerville), serif;
} }

View File

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