Compare commits
84 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4256155ab7 | |||
| 244717c96d | |||
| d1381d3c86 | |||
| d4b782117f | |||
| 06ff13970e | |||
| 5dd4abbb83 | |||
| 618f7b32d5 | |||
| de1a452fff | |||
| 6015a7e5b9 | |||
| 81df609fac | |||
| 33676a0026 | |||
| cedc31c39b | |||
| 30f5479ea1 | |||
| 05306f8214 | |||
| ee3c297494 | |||
| d95fc7132b | |||
| 5debf0cb92 | |||
| f0c8f40c23 | |||
| baac49bcc9 | |||
| f58bfc04ad | |||
| 9dbdcdbfa9 | |||
| 70febe0685 | |||
| 8fef0f19c5 | |||
| b5eb8ca538 | |||
| d7e05cd8e7 | |||
| 9230eaa033 | |||
| 7f9a64d57c | |||
| 5c64dd037a | |||
| baaea4d5cc | |||
| 3b0ad38bbd | |||
| f60872eb70 | |||
| 5e4bc0366e | |||
| e23b93052f | |||
| 9d95c167c8 | |||
| 0ef8b5150c | |||
| 1058e6481f | |||
| 8458dc3f58 | |||
| abd5c5937e | |||
| fad64c57ed | |||
| 937fcba3d5 | |||
| 4cd541a7ff | |||
| 5a4fcdf6e8 | |||
| 2bb1d25a3c | |||
| b02036b194 | |||
| 48d161ee8e | |||
| a20193062f | |||
| 47869cb108 | |||
| e55e5789eb | |||
| 46e10a109d | |||
| c712cacb23 | |||
| db2b748ff4 | |||
| c87839b859 | |||
| ba8ecbc105 | |||
| 757658e49c | |||
| 1f9be120b5 | |||
| b8f6654e83 | |||
| 1a3bdaffa7 | |||
| bfb84ddeaa | |||
| f9d3ad9bba | |||
| f9920cfb76 | |||
| 4876ede67d | |||
| b9bd2c579d | |||
| 46d75e8c2a | |||
| e47dc82ee2 | |||
| 2e5939c8ac | |||
| 3fdf9e1870 | |||
| ee9ce72cb4 | |||
| c6e06d47e1 | |||
| 5ddbadbc2a | |||
| c56321d5fd | |||
| 2a74f63814 | |||
| b66cacd2cc | |||
| 8e8c5bee22 | |||
| 49e9fae9dd | |||
| 6207767ce1 | |||
| 5d679719be | |||
| 6cc1a535ca | |||
| 5629007757 | |||
| 97803f52d3 | |||
| fe08da6749 | |||
| 4fce91667c | |||
| ed1680ad5e | |||
| f71b452eee | |||
| 0211d53794 |
104
src/app/api/contact/route.ts
Normal file
104
src/app/api/contact/route.ts
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
import { NextRequest, NextResponse } from 'next/server';
|
||||||
|
|
||||||
|
export async function POST(request: NextRequest) {
|
||||||
|
try {
|
||||||
|
const { name, email, phone, message } = await request.json();
|
||||||
|
|
||||||
|
// Validate required fields
|
||||||
|
if (!name || !email || !message) {
|
||||||
|
return NextResponse.json(
|
||||||
|
{ error: 'Missing required fields' },
|
||||||
|
{ status: 400 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Email validation
|
||||||
|
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||||
|
if (!emailRegex.test(email)) {
|
||||||
|
return NextResponse.json(
|
||||||
|
{ error: 'Invalid email address' },
|
||||||
|
{ status: 400 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Format the email content
|
||||||
|
const emailContent = `
|
||||||
|
New Contact Form Submission from Earl Boys Services Website
|
||||||
|
|
||||||
|
Name: ${name}
|
||||||
|
Email: ${email}
|
||||||
|
Phone: ${phone || 'Not provided'}
|
||||||
|
|
||||||
|
Message:
|
||||||
|
${message}
|
||||||
|
|
||||||
|
---
|
||||||
|
This message was sent from your website contact form.
|
||||||
|
`;
|
||||||
|
|
||||||
|
// Send email notification (you'll need to configure your email service)
|
||||||
|
// This is a placeholder for your email sending logic
|
||||||
|
// You can use services like Nodemailer, SendGrid, AWS SES, etc.
|
||||||
|
|
||||||
|
// Example with a generic webhook or internal email service:
|
||||||
|
const emailResponse = await sendEmailNotification({
|
||||||
|
to: 'info@earlboysservices.com',
|
||||||
|
subject: `New Contact Form Submission from ${name}`,
|
||||||
|
text: emailContent,
|
||||||
|
replyTo: email,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!emailResponse.success) {
|
||||||
|
console.error('Email sending failed:', emailResponse.error);
|
||||||
|
return NextResponse.json(
|
||||||
|
{ error: 'Failed to send message' },
|
||||||
|
{ status: 500 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return success response
|
||||||
|
return NextResponse.json(
|
||||||
|
{ message: 'Contact form submitted successfully' },
|
||||||
|
{ status: 200 }
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Contact form error:', error);
|
||||||
|
return NextResponse.json(
|
||||||
|
{ error: 'Internal server error' },
|
||||||
|
{ status: 500 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Email notification function - implement based on your email service
|
||||||
|
async function sendEmailNotification({
|
||||||
|
to,
|
||||||
|
subject,
|
||||||
|
text,
|
||||||
|
replyTo,
|
||||||
|
}: {
|
||||||
|
to: string;
|
||||||
|
subject: string;
|
||||||
|
text: string;
|
||||||
|
replyTo: string;
|
||||||
|
}): Promise<{ success: boolean; error?: string }> {
|
||||||
|
try {
|
||||||
|
// Placeholder for email service integration
|
||||||
|
// Configure your email service here (SendGrid, AWS SES, Nodemailer, etc.)
|
||||||
|
|
||||||
|
// Example: Using fetch to call an external email service
|
||||||
|
// const response = await fetch('YOUR_EMAIL_SERVICE_ENDPOINT', {
|
||||||
|
// method: 'POST',
|
||||||
|
// headers: { 'Content-Type': 'application/json' },
|
||||||
|
// body: JSON.stringify({ to, subject, text, replyTo }),
|
||||||
|
// });
|
||||||
|
|
||||||
|
// For now, return success (implement actual email service)
|
||||||
|
console.log(`Email notification: ${subject} to ${to}`);
|
||||||
|
|
||||||
|
return { success: true };
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Email notification error:', error);
|
||||||
|
return { success: false, error: String(error) };
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,22 +1,26 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
|
||||||
import HeroBillboardGallery from "@/components/sections/hero/HeroBillboardGallery";
|
import HeroBillboardCarousel from "@/components/sections/hero/HeroBillboardCarousel";
|
||||||
import FeatureCardTwentyFive from "@/components/sections/feature/FeatureCardTwentyFive";
|
import FeatureCardTwentyFive from "@/components/sections/feature/FeatureCardTwentyFive";
|
||||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
|
||||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
||||||
import { Hammer, Wrench, Phone, Mail, MessageCircle, CheckCircle } from "lucide-react";
|
import FooterCard from "@/components/sections/footer/FooterCard";
|
||||||
|
import { Hammer, Wrench, Droplet, Paintbrush, Zap, MonitorPlay, Armchair, Layers, TrendingUp, Clock, Users, CheckCircle, Star, Facebook, Instagram, Phone, Quote } from "lucide-react";
|
||||||
|
|
||||||
export default function ContactPage() {
|
export default function ContactPage() {
|
||||||
const navItems = [
|
const navItems = [
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Services", id: "services" },
|
{ name: "Services", id: "services" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Testimonials", id: "testimonials" },
|
{ name: "Contact", id: "/contact" },
|
||||||
{ name: "Contact", id: "contact" },
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const contactButton = {
|
||||||
|
text: "Call Now", href: "tel:804-938-0669"
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="hover-magnetic"
|
defaultButtonVariant="hover-magnetic"
|
||||||
@@ -31,16 +35,14 @@ export default function ContactPage() {
|
|||||||
headingFontWeight="bold"
|
headingFontWeight="bold"
|
||||||
>
|
>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleFullscreen
|
<NavbarStyleApple
|
||||||
navItems={navItems}
|
navItems={navItems}
|
||||||
brandName="Earl Boys Services"
|
brandName="Earl Boys Services"
|
||||||
bottomLeftText="Richmond, VA"
|
|
||||||
bottomRightText="804-938-0669"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardGallery
|
<HeroBillboardCarousel
|
||||||
title="Contact Earl Boys Services"
|
title="Contact Earl Boys Services"
|
||||||
description="Get in touch with our team for all your home service needs. We're here to help transform your home with professional, reliable service."
|
description="Get in touch with our team for all your home service needs. We're here to help transform your home with professional, reliable service."
|
||||||
tag="Earl Boys Services"
|
tag="Earl Boys Services"
|
||||||
@@ -49,24 +51,33 @@ export default function ContactPage() {
|
|||||||
background={{ variant: "sparkles-gradient" }}
|
background={{ variant: "sparkles-gradient" }}
|
||||||
mediaItems={[
|
mediaItems={[
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-cute-family-repairs-room_1157-24897.jpg?_wi=2", imageAlt: "Professional home services team"},
|
imageSrc: "http://img.b2bpic.net/free-photo/young-cute-family-repairs-room_1157-24897.jpg?_wi=2", imageAlt: "Professional home services team"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721573.jpg?_wi=3", imageAlt: "Expert plumbing services"},
|
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721573.jpg?_wi=3", imageAlt: "Expert plumbing services"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-painting-wall-home_23-2149098981.jpg?_wi=3", imageAlt: "Professional painting services"},
|
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-painting-wall-home_23-2149098981.jpg?_wi=3", imageAlt: "Professional painting services"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-electrician-checks-switchboard-tablet-night-shift-smart-service_169016-70936.jpg?_wi=3", imageAlt: "Licensed electrical work"},
|
imageSrc: "http://img.b2bpic.net/free-photo/woman-electrician-checks-switchboard-tablet-night-shift-smart-service_169016-70936.jpg?_wi=3", imageAlt: "Licensed electrical work"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/mechanics-checking-planning-workshop_329181-11868.jpg?_wi=3", imageAlt: "General maintenance services"},
|
imageSrc: "http://img.b2bpic.net/free-photo/mechanics-checking-planning-workshop_329181-11868.jpg?_wi=2", imageAlt: "General maintenance services"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/circular-saw-carpenter-using-circular-saw-wood_169016-17039.jpg?_wi=2", imageAlt: "Professional flooring installation"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Call Now: 804-938-0669", href: "tel:804-938-0669"},
|
text: "Call Now: 804-938-0669", href: "tel:804-938-0669"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
text: "Get Free Estimate", href: "#contact-form"},
|
text: "Quick Contact Form", href: "#contact-form"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
mediaAnimation="slide-up"
|
|
||||||
ariaLabel="Contact page hero section for Earl Boys Services"
|
ariaLabel="Contact page hero section for Earl Boys Services"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -82,36 +93,44 @@ export default function ContactPage() {
|
|||||||
title: "Phone Support", description: "Call us directly for immediate assistance and emergency service requests.", icon: Phone,
|
title: "Phone Support", description: "Call us directly for immediate assistance and emergency service requests.", icon: Phone,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-man-receiving-box_23-2149103401.jpg", imageAlt: "Customer service support"},
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-man-receiving-box_23-2149103401.jpg", imageAlt: "Customer service support"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-man-choosing-color_23-2148903521.jpg?_wi=2", imageAlt: "Professional communication"},
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-man-choosing-color_23-2148903521.jpg", imageAlt: "Professional communication"
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Service Area Coverage", description: "We proudly serve Richmond, VA and all surrounding areas with comprehensive home services.", icon: Wrench,
|
title: "Service Area Coverage", description: "We proudly serve Richmond, VA and all surrounding areas with comprehensive home services.", icon: Wrench,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-s-hand-holding-push-pin-blur-map_23-2147958186.jpg?_wi=2", imageAlt: "Richmond virginia map location marker"},
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-s-hand-holding-push-pin-blur-map_23-2147958186.jpg", imageAlt: "Richmond virginia map location marker"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-men-cleaning-office-together_23-2149345517.jpg", imageAlt: "Professional home services team working"},
|
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-men-cleaning-office-together_23-2149345517.jpg", imageAlt: "Professional home services team working"
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Free Estimates", description: "Schedule a free consultation and estimate for your project with our experienced team.", icon: CheckCircle,
|
title: "Free Estimates", description: "Schedule a free consultation and estimate for your project with our experienced team.", icon: CheckCircle,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-couple-moving-new-home_23-2149242082.jpg?_wi=2", imageAlt: "Home improvement project"},
|
imageSrc: "http://img.b2bpic.net/free-photo/young-couple-moving-new-home_23-2149242082.jpg", imageAlt: "Home improvement project"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-builder-men-with-smartphones_23-2148751993.jpg", imageAlt: "Professional consultation"},
|
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-builder-men-with-smartphones_23-2148751993.jpg", imageAlt: "Professional consultation"
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Licensed & Insured", description: "All services fully licensed, insured, and bonded for your peace of mind.", icon: CheckCircle,
|
title: "Licensed & Insured", description: "All services fully licensed, insured, and bonded for your peace of mind.", icon: CheckCircle,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-grey-haired-logistic-worker-hardhat-uniform-standing-shelves-warehouse-with-arms-folded-looking-camera-smiling-vertical-shot-labor-blue-collar-portrait-concept_74855-14227.jpg", imageAlt: "Professional tradesman"},
|
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-grey-haired-logistic-worker-hardhat-uniform-standing-shelves-warehouse-with-arms-folded-looking-camera-smiling-vertical-shot-labor-blue-collar-portrait-concept_74855-14227.jpg", imageAlt: "Professional tradesman"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/view-professional-cleaning-service-person-holding-supplies_23-2150520608.jpg", imageAlt: "Professional service team"},
|
imageSrc: "http://img.b2bpic.net/free-photo/view-professional-cleaning-service-person-holding-supplies_23-2150520608.jpg", imageAlt: "Professional service team"
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
@@ -120,69 +139,94 @@ export default function ContactPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Request Service", href: "tel:804-938-0669"},
|
text: "Request Service", href: "tel:804-938-0669"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact-form" data-section="contact-form">
|
<div id="testimonials" data-section="testimonials">
|
||||||
<ContactFaq
|
<TestimonialCardThirteen
|
||||||
|
title="What Our Customers Say"
|
||||||
|
description="Hear from satisfied clients who have experienced Earl Boys Services excellence firsthand."
|
||||||
|
tag="Customer Reviews"
|
||||||
|
tagIcon={Star}
|
||||||
|
testimonials={[
|
||||||
|
{
|
||||||
|
id: "1", name: "John Mitchell", handle: "@john_m", testimonial: "Earl Boys Services transformed our kitchen with professional craftsmanship. The team was punctual, courteous, and delivered exceptional results. Highly recommend!", rating: 5,
|
||||||
|
icon: Quote
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "2", name: "Sarah Thompson", handle: "@sarah_t", testimonial: "Outstanding plumbing work! They fixed a complex issue that other companies said was impossible. Professional, efficient, and fair pricing.", rating: 5,
|
||||||
|
icon: Quote
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "3", name: "Michael Chen", handle: "@m_chen", testimonial: "The electrical work on our renovation was flawless. They explained everything clearly and made sure we understood the improvements. Will definitely call again!", rating: 5,
|
||||||
|
icon: Quote
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "4", name: "Jennifer Rodriguez", handle: "@jen_rod", testimonial: "Best home improvement decision we made! The painters were meticulous and the quality is outstanding. Worth every penny!", rating: 5,
|
||||||
|
icon: Quote
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
showRating={true}
|
||||||
|
animationType="slide-up"
|
||||||
|
textboxLayout="default"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
carouselMode="buttons"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="faq" data-section="faq">
|
||||||
|
<FaqSplitText
|
||||||
|
sideTitle="Questions About Our Services?"
|
||||||
|
sideDescription="Find answers to common questions about contacting Earl Boys Services, scheduling appointments, and our service offerings."
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1", title: "What is your phone number?", content: "You can reach us at 804-938-0669. We're available during business hours and offer emergency service for urgent issues."},
|
id: "1", title: "What is your phone number?", content: "You can reach us at 804-938-0669. We're available during business hours and offer emergency service for urgent issues."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", title: "How quickly can you respond to my request?", content: "We typically respond to service requests within 24 hours. For emergency issues, call us immediately at 804-938-0669."},
|
id: "2", title: "How quickly can you respond to my request?", content: "We typically respond to service requests within 24 hours. For emergency issues, call us immediately at 804-938-0669."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", title: "What areas do you serve?", content: "We proudly serve Richmond, VA and all surrounding areas. Our service team covers residential and commercial properties throughout the region."},
|
id: "3", title: "What areas do you serve?", content: "We proudly serve Richmond, VA and all surrounding areas. Our service team covers residential and commercial properties throughout the region."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", title: "Do you charge for consultations and estimates?", content: "No! We provide free, no-obligation estimates for all services. Contact us to schedule your consultation."},
|
id: "4", title: "Do you charge for consultations and estimates?", content: "No! We provide free, no-obligation estimates for all services. Contact us to schedule your consultation."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "5", title: "What payment methods do you accept?", content: "We accept cash, check, credit cards, and digital payments. We also offer financing options for larger projects."},
|
id: "5", title: "What payment methods do you accept?", content: "We accept cash, check, credit cards, and digital payments. We also offer financing options for larger projects."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "6", title: "Are you licensed and insured?", content: "Absolutely. Earl Boys Services is fully licensed, insured, and bonded. We maintain all required certifications."},
|
id: "6", title: "Are you licensed and insured?", content: "Absolutely. Earl Boys Services is fully licensed, insured, and bonded. We maintain all required certifications."
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
ctaTitle="Ready to Get Started?"
|
textPosition="left"
|
||||||
ctaDescription="Contact Earl Boys Services today for a free estimate and professional home service solutions."
|
faqsAnimation="slide-up"
|
||||||
ctaButton={{ text: "Call Now", href: "tel:804-938-0669" }}
|
|
||||||
ctaIcon={Phone}
|
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
animationType="slide-up"
|
animationType="smooth"
|
||||||
accordionAnimationType="smooth"
|
|
||||||
showCard={true}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterSimple
|
<FooterCard
|
||||||
columns={[
|
logoText="Earl Boys Services"
|
||||||
|
copyrightText="© 2025 Earl Boys Services LLC. All rights reserved. Licensed & Insured."
|
||||||
|
socialLinks={[
|
||||||
{
|
{
|
||||||
title: "Services", items: [
|
icon: Facebook,
|
||||||
{ label: "Plumbing", href: "/" },
|
href: "https://facebook.com", ariaLabel: "Facebook"
|
||||||
{ label: "Electrical", href: "/" },
|
|
||||||
{ label: "Painting", href: "/" },
|
|
||||||
{ label: "Maintenance", href: "/" },
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Company", items: [
|
icon: Instagram,
|
||||||
{ label: "About Us", href: "/" },
|
href: "https://instagram.com", ariaLabel: "Instagram"
|
||||||
{ label: "Contact", href: "/contact" },
|
|
||||||
{ label: "Testimonials", href: "/" },
|
|
||||||
{ label: "Get Estimate", href: "tel:804-938-0669" },
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Contact", items: [
|
icon: Phone,
|
||||||
{ label: "Phone: 804-938-0669", href: "tel:804-938-0669" },
|
href: "tel:804-938-0669", ariaLabel: "Call us"
|
||||||
{ label: "Richmond, VA", href: "#" },
|
|
||||||
{ label: "Licensed & Insured", href: "#" },
|
|
||||||
{ label: "Available 24/7", href: "#" },
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
bottomLeftText="© 2025 Earl Boys Services LLC. All rights reserved. Licensed & Insured."
|
|
||||||
bottomRightText="Professional Home Services"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
|
|||||||
1432
src/app/layout.tsx
1432
src/app/layout.tsx
File diff suppressed because it is too large
Load Diff
193
src/app/page.tsx
193
src/app/page.tsx
@@ -1,22 +1,20 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
|
||||||
import HeroBillboardGallery from "@/components/sections/hero/HeroBillboardGallery";
|
import HeroBillboardRotatedCarousel from "@/components/sections/hero/HeroBillboardRotatedCarousel";
|
||||||
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
|
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
|
||||||
import FeatureCardTwentyFive from "@/components/sections/feature/FeatureCardTwentyFive";
|
|
||||||
import TestimonialCardTwelve from "@/components/sections/testimonial/TestimonialCardTwelve";
|
import TestimonialCardTwelve from "@/components/sections/testimonial/TestimonialCardTwelve";
|
||||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
import FaqDouble from "@/components/sections/faq/FaqDouble";
|
||||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
|
||||||
import { Hammer, Wrench, Droplet, Paintbrush, Zap, MonitorPlay, CheckCircle, Phone, Mail, MessageCircle } from "lucide-react";
|
import { Sparkles, CheckCircle, TrendingUp, Users, Shield, Zap, Globe } from "lucide-react";
|
||||||
|
|
||||||
export default function HomePage() {
|
export default function Home() {
|
||||||
const navItems = [
|
const navItems = [
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Home", id: "/" },
|
||||||
{ name: "Services", id: "services" },
|
{ name: "Services", id: "services" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Testimonials", id: "testimonials" },
|
{ name: "Contact", id: "/contact" },
|
||||||
{ name: "Contact", id: "contact" },
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -33,103 +31,78 @@ export default function HomePage() {
|
|||||||
headingFontWeight="bold"
|
headingFontWeight="bold"
|
||||||
>
|
>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleFullscreen
|
<NavbarStyleApple navItems={navItems} brandName="Earl Boys Services" />
|
||||||
navItems={navItems}
|
|
||||||
brandName="Earl Boys Services"
|
|
||||||
bottomLeftText="Richmond, VA"
|
|
||||||
bottomRightText="804-938-0669"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardGallery
|
<HeroBillboardRotatedCarousel
|
||||||
title="Professional Home Services You Can Trust"
|
title="Transform Your Home with Professional Services"
|
||||||
description="Earl Boys Services delivers expert plumbing, electrical, painting, and maintenance solutions for your home. With over 15 years of experience serving Richmond, VA, we're committed to quality workmanship and customer satisfaction."
|
description="Expert home services in Richmond, VA. From plumbing and electrical work to painting and flooring, we deliver quality craftsmanship every time."
|
||||||
tag="Earl Boys Services"
|
tag="Earl Boys Services"
|
||||||
tagIcon={Hammer}
|
tagIcon={Sparkles}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
background={{ variant: "radial-gradient" }}
|
background={{ variant: "sparkles-gradient" }}
|
||||||
mediaItems={[
|
carouselItems={[
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-cute-family-repairs-room_1157-24897.jpg?_wi=1", imageAlt: "Professional home services team"},
|
id: "1", imageSrc: "http://img.b2bpic.net/free-photo/young-cute-family-repairs-room_1157-24897.jpg?_wi=1", imageAlt: "Professional home services team"},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721573.jpg?_wi=1", imageAlt: "Expert plumbing services"},
|
id: "2", imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721573.jpg?_wi=1", imageAlt: "Expert plumbing services"},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-painting-wall-home_23-2149098981.jpg?_wi=1", imageAlt: "Professional painting services"},
|
id: "3", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-painting-wall-home_23-2149098981.jpg?_wi=1", imageAlt: "Professional painting services"},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-electrician-checks-switchboard-tablet-night-shift-smart-service_169016-70936.jpg?_wi=1", imageAlt: "Licensed electrical work"},
|
id: "4", imageSrc: "http://img.b2bpic.net/free-photo/woman-electrician-checks-switchboard-tablet-night-shift-smart-service_169016-70936.jpg?_wi=1", imageAlt: "Licensed electrical work"},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/mechanics-checking-planning-workshop_329181-11868.jpg?_wi=1", imageAlt: "General maintenance services"},
|
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/mechanics-checking-planning-workshop_329181-11868.jpg?_wi=1", imageAlt: "General maintenance services"},
|
||||||
|
{
|
||||||
|
id: "6", imageSrc: "http://img.b2bpic.net/free-photo/circular-saw-carpenter-using-circular-saw-wood_169016-17039.jpg?_wi=1", imageAlt: "Professional flooring installation"},
|
||||||
]}
|
]}
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Call Now", href: "tel:804-938-0669"},
|
text: "Get Free Estimate", href: "/contact"},
|
||||||
{
|
{
|
||||||
text: "Get Free Estimate", href: "#contact"},
|
text: "Call: 804-938-0669", href: "tel:804-938-0669"},
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
mediaAnimation="slide-up"
|
ariaLabel="Hero section showcasing home services"
|
||||||
ariaLabel="Hero section for Earl Boys Services"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="social-proof" data-section="social-proof">
|
|
||||||
<SocialProofOne
|
|
||||||
title="Trusted by Homeowners Throughout Richmond"
|
|
||||||
description="Join thousands of satisfied customers who have transformed their homes with Earl Boys Services"
|
|
||||||
tag="Social Proof"
|
|
||||||
tagAnimation="slide-up"
|
|
||||||
names={[
|
|
||||||
"Family Homes", "Small Businesses", "Property Managers", "Real Estate Agents", "Contractors", "Building Owners"]}
|
|
||||||
textboxLayout="default"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
speed={40}
|
|
||||||
showCard={true}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="services" data-section="services">
|
<div id="services" data-section="services">
|
||||||
<FeatureCardTwentyFive
|
<FeatureCardTen
|
||||||
title="Our Professional Services"
|
title="Our Services"
|
||||||
description="We provide comprehensive home services to keep your property in top condition"
|
description="Comprehensive home services designed to meet all your residential needs with professional expertise and quality craftsmanship."
|
||||||
tag="What We Do"
|
tag="What We Offer"
|
||||||
tagIcon={Wrench}
|
tagIcon={Sparkles}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
title: "Plumbing Services", description: "Expert repairs, installations, and maintenance for all your plumbing needs.", icon: Droplet,
|
id: "1", title: "Plumbing Services", description: "From routine maintenance to complex repairs, our licensed plumbers handle all your plumbing needs with precision and care.", media: {
|
||||||
mediaItems: [
|
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721573.jpg?_wi=2", imageAlt: "Professional plumbing work"},
|
||||||
{
|
items: [
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/plumbing-professional-doing-his-job_23-2150721573.jpg?_wi=2", imageAlt: "Professional plumbing repair"},
|
{ icon: CheckCircle, text: "Leak detection & repair" },
|
||||||
{
|
{ icon: CheckCircle, text: "Pipe installation" },
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-s-hand-holding-push-pin-blur-map_23-2147958186.jpg?_wi=1", imageAlt: "Plumbing installation work"},
|
{ icon: CheckCircle, text: "Drain cleaning" },
|
||||||
],
|
],
|
||||||
|
reverse: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Electrical Work", description: "Licensed electrical services including repairs, upgrades, and installations.", icon: Zap,
|
id: "2", title: "Electrical Services", description: "Safe, reliable electrical work for all your home needs. Licensed electricians providing installations, repairs, and upgrades.", media: {
|
||||||
mediaItems: [
|
imageSrc: "http://img.b2bpic.net/free-photo/woman-electrician-checks-switchboard-tablet-night-shift-smart-service_169016-70936.jpg?_wi=2", imageAlt: "Professional electrical work"},
|
||||||
{
|
items: [
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-electrician-checks-switchboard-tablet-night-shift-smart-service_169016-70936.jpg?_wi=2", imageAlt: "Electrical panel inspection"},
|
{ icon: CheckCircle, text: "Circuit installation" },
|
||||||
{
|
{ icon: CheckCircle, text: "Outlet & switch repairs" },
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-man-choosing-color_23-2148903521.jpg?_wi=1", imageAlt: "Electrical service work"},
|
{ icon: CheckCircle, text: "Safety inspections" },
|
||||||
],
|
],
|
||||||
|
reverse: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Painting & Finishing", description: "Interior and exterior painting with attention to detail and quality finishes.", icon: Paintbrush,
|
id: "3", title: "Painting & Finishing", description: "Transform your space with professional painting services. Interior and exterior work with attention to detail and quality finishes.", media: {
|
||||||
mediaItems: [
|
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-painting-wall-home_23-2149098981.jpg?_wi=2", imageAlt: "Professional painting services"},
|
||||||
{
|
items: [
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-painting-wall-home_23-2149098981.jpg?_wi=2", imageAlt: "Professional painting service"},
|
{ icon: CheckCircle, text: "Interior painting" },
|
||||||
{
|
{ icon: CheckCircle, text: "Exterior painting" },
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-couple-moving-new-home_23-2149242082.jpg?_wi=1", imageAlt: "Interior painting project"},
|
{ icon: CheckCircle, text: "Surface preparation" },
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "General Maintenance", description: "Comprehensive home maintenance and repairs to keep everything running smoothly.", icon: Wrench,
|
|
||||||
mediaItems: [
|
|
||||||
{
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/mechanics-checking-planning-workshop_329181-11868.jpg?_wi=2", imageAlt: "General maintenance work"},
|
|
||||||
{
|
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/circular-saw-carpenter-using-circular-saw-wood_169016-17039.jpg", imageAlt: "General repair services"},
|
|
||||||
],
|
],
|
||||||
|
reverse: false,
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
@@ -137,7 +110,7 @@ export default function HomePage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Request Service", href: "tel:804-938-0669"},
|
text: "Schedule Service", href: "/contact"},
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
/>
|
/>
|
||||||
@@ -147,74 +120,60 @@ export default function HomePage() {
|
|||||||
<TestimonialCardTwelve
|
<TestimonialCardTwelve
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "1", name: "Sarah Johnson", imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-man-wearing-casual-clothes_23-2149199815.jpg", imageAlt: "Sarah Johnson testimonial"},
|
id: "1", name: "John Mitchell", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AOwz6pWy3usOcBMo4WS6AXnICI/uploaded-1773139927112-860778c6.png?_wi=1", imageAlt: "John Mitchell"},
|
||||||
{
|
{
|
||||||
id: "2", name: "Michael Chen", imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-woman-wearing-casual-clothes_23-2149199814.jpg", imageAlt: "Michael Chen testimonial"},
|
id: "2", name: "Sarah Thompson", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AOwz6pWy3usOcBMo4WS6AXnICI/uploaded-1773139927112-860778c6.png?_wi=2", imageAlt: "Sarah Thompson"},
|
||||||
{
|
{
|
||||||
id: "3", name: "Emma Davis", imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-man-casual-clothes_23-2149199813.jpg", imageAlt: "Emma Davis testimonial"},
|
id: "3", name: "Michael Chen", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AOwz6pWy3usOcBMo4WS6AXnICI/uploaded-1773139927112-860778c6.png?_wi=3", imageAlt: "Michael Chen"},
|
||||||
{
|
{
|
||||||
id: "4", name: "James Wilson", imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-woman-casual-clothes_23-2149199812.jpg", imageAlt: "James Wilson testimonial"},
|
id: "4", name: "Jennifer Rodriguez", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AOwz6pWy3usOcBMo4WS6AXnICI/uploaded-1773139927112-860778c6.png?_wi=4", imageAlt: "Jennifer Rodriguez"},
|
||||||
]}
|
]}
|
||||||
cardTitle="Over 2,000 homeowners trust Earl Boys Services for their most important projects"
|
cardTitle="Over 1,000 satisfied customers trust Earl Boys Services"
|
||||||
cardTag="Testimonials"
|
cardTag="See what they say"
|
||||||
cardAnimation="slide-up"
|
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
|
cardAnimation="slide-up"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="faq" data-section="faq">
|
||||||
<ContactFaq
|
<FaqDouble
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1", title: "What areas do you serve?", content: "We proudly serve Richmond, VA and all surrounding areas. Our service team covers residential and commercial properties throughout the region."},
|
id: "1", title: "What areas do you serve?", content: "We proudly serve Richmond, VA and all surrounding areas. Our service team covers residential and commercial properties throughout the region."},
|
||||||
{
|
{
|
||||||
id: "2", title: "Do you charge for estimates?", content: "No! We provide free, no-obligation estimates for all services. Contact us to schedule your consultation."},
|
id: "2", title: "How quickly can you respond to my request?", content: "We typically respond to service requests within 24 hours. For emergency issues, call us immediately at 804-938-0669."},
|
||||||
{
|
{
|
||||||
id: "3", title: "Are you licensed and insured?", content: "Absolutely. Earl Boys Services is fully licensed, insured, and bonded. We maintain all required certifications."},
|
id: "3", title: "Do you charge for consultations?", content: "No! We provide free, no-obligation estimates for all services. Contact us to schedule your consultation."},
|
||||||
{
|
{
|
||||||
id: "4", title: "How quickly can you respond?", content: "We typically respond to service requests within 24 hours. For emergency issues, call us immediately at 804-938-0669."},
|
id: "4", title: "Are you licensed and insured?", content: "Absolutely. Earl Boys Services is fully licensed, insured, and bonded. We maintain all required certifications."},
|
||||||
]}
|
]}
|
||||||
ctaTitle="Get Your Free Estimate Today"
|
title="Frequently Asked Questions"
|
||||||
ctaDescription="Contact Earl Boys Services for professional, reliable home services. We're ready to help transform your home."
|
description="Find answers to common questions about our services and how we can help your home."
|
||||||
ctaButton={{ text: "Call Now", href: "tel:804-938-0669" }}
|
textboxLayout="default"
|
||||||
ctaIcon={Phone}
|
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
animationType="slide-up"
|
faqsAnimation="slide-up"
|
||||||
accordionAnimationType="smooth"
|
|
||||||
showCard={true}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterSimple
|
<FooterBaseReveal
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Services", items: [
|
title: "Services", items: [
|
||||||
{ label: "Plumbing", href: "#services" },
|
{ label: "Plumbing", href: "services" },
|
||||||
{ label: "Electrical", href: "#services" },
|
{ label: "Electrical", href: "services" },
|
||||||
{ label: "Painting", href: "#services" },
|
{ label: "Painting", href: "services" },
|
||||||
{ label: "Maintenance", href: "#services" },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Company", items: [
|
title: "Company", items: [
|
||||||
{ label: "About Us", href: "#about" },
|
{ label: "About", href: "about" },
|
||||||
{ label: "Contact", href: "#contact" },
|
{ label: "Contact", href: "/contact" },
|
||||||
{ label: "Testimonials", href: "#testimonials" },
|
{ label: "Home", href: "/" },
|
||||||
{ label: "Get Estimate", href: "tel:804-938-0669" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Contact", items: [
|
|
||||||
{ label: "Phone: 804-938-0669", href: "tel:804-938-0669" },
|
|
||||||
{ label: "Richmond, VA", href: "#" },
|
|
||||||
{ label: "Licensed & Insured", href: "#" },
|
|
||||||
{ label: "Available 24/7", href: "#" },
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
bottomLeftText="© 2025 Earl Boys Services LLC. All rights reserved. Licensed & Insured."
|
copyrightText="© 2025 Earl Boys Services LLC. All rights reserved. Licensed & Insured."
|
||||||
bottomRightText="Professional Home Services"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
|
|||||||
@@ -12,11 +12,11 @@
|
|||||||
|
|
||||||
--background: #ffffff;
|
--background: #ffffff;
|
||||||
--card: #f9f9f9;
|
--card: #f9f9f9;
|
||||||
--foreground: #120006e6;
|
--foreground: #000612e6;
|
||||||
--primary-cta: #e63946;
|
--primary-cta: #15479c;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #f9f9f9;
|
||||||
--secondary-cta-text: #120006e6;
|
--secondary-cta-text: #000612e6;
|
||||||
--accent: #e2e2e2;
|
--accent: #e2e2e2;
|
||||||
--background-accent: #c4c4c4;
|
--background-accent: #c4c4c4;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user