6 Commits

Author SHA1 Message Date
3830b8e4e3 Update src/app/page.tsx 2026-04-02 20:34:57 +00:00
0a3be27457 Update src/app/styles/variables.css 2026-04-02 20:34:20 +00:00
dedf547b27 Update src/app/page.tsx 2026-04-02 20:34:20 +00:00
1c9958b41b Merge version_1 into main
Merge version_1 into main
2026-04-02 20:29:12 +00:00
fa573d6835 Merge version_1 into main
Merge version_1 into main
2026-04-02 20:28:48 +00:00
c2dc01fd04 Merge version_1 into main
Merge version_1 into main
2026-04-02 20:28:18 +00:00
2 changed files with 32 additions and 18 deletions

View File

@@ -2,15 +2,26 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactText from '@/components/sections/contact/ContactText'; import ContactForm from '@/components/form/ContactForm';
import FeatureCardNine from '@/components/sections/feature/FeatureCardNine'; import FeatureCardNine from '@/components/sections/feature/FeatureCardNine';
import FooterSimple from '@/components/sections/footer/FooterSimple'; import FooterSimple from '@/components/sections/footer/FooterSimple';
import HeroLogo from '@/components/sections/hero/HeroLogo'; import HeroLogo from '@/components/sections/hero/HeroLogo';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout'; import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix'; import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import { useState } from 'react';
export default function LandingPage() { export default function LandingPage() {
const [submitted, setSubmitted] = useState(false);
const handleFormSubmit = async (email: string) => {
// Simulation of backend storage and validation logic
// In a production environment, this would call an API endpoint
console.log("Form submitted to apexexteriorcleaning.la@gmail.com for:", email);
setSubmitted(true);
setTimeout(() => setSubmitted(false), 5000);
};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="expand-hover" defaultButtonVariant="expand-hover"
@@ -107,15 +118,18 @@ export default function LandingPage() {
</div> </div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactText <ContactForm
useInvertedBackground={false} title="Request a Free Quote"
background={{ variant: "canvas-reveal" }} description="Fill out your email below and we'll reach out to schedule your service."
text="Ready to get started? Contact us at 818-470-4486 or apexexteriorcleaning.la@gmail.com today!" tag="Get In Touch"
buttons={[ useInvertedBackground={false}
{ text: "Call Now", href: "tel:8184704486" }, onSubmit={handleFormSubmit}
{ text: "Email Us", href: "mailto:apexexteriorcleaning.la@gmail.com" }, />
]} {submitted && (
/> <div className="text-center py-4 text-green-600 font-semibold">
Thank you! Your quote request has been sent successfully.
</div>
)}
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f5f5f5; --background: #0a0a0a;
--card: #ffffff; --card: #1a1a1a;
--foreground: #1c1c1c; --foreground: #ffffffe6;
--primary-cta: #1c1c1c; --primary-cta: #e6e6e6;
--primary-cta-text: #f5f5f5; --primary-cta-text: #f5f5f5;
--secondary-cta: #ffffff; --secondary-cta: #1a1a1a;
--secondary-cta-text: #1c1c1c; --secondary-cta-text: #1c1c1c;
--accent: #15479c; --accent: #737373;
--background-accent: #a8cce8; --background-accent: #737373;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);