16 Commits

Author SHA1 Message Date
6bf4eadfce Update src/app/page.tsx 2026-03-17 23:13:15 +00:00
60d53921a2 Update src/app/contact/page.tsx 2026-03-17 23:13:15 +00:00
7aaebaf008 Update src/app/about/page.tsx 2026-03-17 23:13:14 +00:00
794f8a5954 Update src/app/page.tsx 2026-03-17 23:12:50 +00:00
2239ee14ac Update src/app/contact/page.tsx 2026-03-17 23:12:49 +00:00
b14fc72eaa Update src/app/about/page.tsx 2026-03-17 23:12:49 +00:00
d2ebc925be Update src/app/styles/variables.css 2026-03-17 23:12:13 +00:00
21ac32cb91 Update src/app/styles/base.css 2026-03-17 23:12:13 +00:00
426a105dc6 Update src/app/services/page.tsx 2026-03-17 23:12:13 +00:00
6e5feced49 Add src/app/service-area/page.tsx 2026-03-17 23:12:12 +00:00
f396bdb020 Update src/app/reviews/page.tsx 2026-03-17 23:12:12 +00:00
e5d6725d28 Update src/app/page.tsx 2026-03-17 23:12:11 +00:00
a9433fa9d7 Update src/app/layout.tsx 2026-03-17 23:12:11 +00:00
3e24e7f225 Update src/app/contact/page.tsx 2026-03-17 23:12:11 +00:00
7fcb8ef875 Update src/app/about/page.tsx 2026-03-17 23:12:10 +00:00
1e940c4a32 Merge version_1 into main
Merge version_1 into main
2026-03-17 22:54:01 +00:00
9 changed files with 624 additions and 680 deletions

View File

@@ -1,27 +1,30 @@
"use client"; "use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout"; import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout";
import FeatureBento from "@/components/sections/feature/FeatureBento";
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
import FooterSimple from "@/components/sections/footer/FooterSimple"; import FooterSimple from "@/components/sections/footer/FooterSimple";
import { Zap, MapPin, Users, Heart, Wrench, Lightbulb, Clock } from "lucide-react"; import ContactCTA from "@/components/sections/contact/ContactCTA";
import { AlertCircle, Phone } from "lucide-react";
const AboutPage = () => { export default function AboutPage() {
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "/" },
{ name: "Services", id: "services" }, { name: "Services", id: "/services" },
{ name: "About", id: "about" }, { name: "About", id: "/about" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "contact" }, { name: "Service Area", id: "/service-area" },
{ name: "Contact", id: "/contact" },
]; ];
const handleCallNow = () => {
window.location.href = "tel:+15619999999";
};
const footerColumns = [ const footerColumns = [
{ {
title: "Services", title: "Services", items: [
items: [
{ label: "Towing Services", href: "/services" }, { label: "Towing Services", href: "/services" },
{ label: "Roadside Assistance", href: "/services" }, { label: "Roadside Assistance", href: "/services" },
{ label: "Vehicle Transport", href: "/services" }, { label: "Vehicle Transport", href: "/services" },
@@ -29,26 +32,23 @@ const AboutPage = () => {
], ],
}, },
{ {
title: "Company", title: "Company", items: [
items: [
{ label: "About Us", href: "/about" }, { label: "About Us", href: "/about" },
{ label: "Customer Reviews", href: "/reviews" }, { label: "Customer Reviews", href: "/reviews" },
{ label: "Service Area", href: "/services" }, { label: "Service Area", href: "/service-area" },
{ label: "Contact Us", href: "/contact" }, { label: "Contact Us", href: "/contact" },
], ],
}, },
{ {
title: "Get Help", title: "Get Help", items: [
items: [ { label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
{ label: "Call Now", href: "tel:+15619999999" },
{ label: "Request a Quote", href: "/contact" }, { label: "Request a Quote", href: "/contact" },
{ label: "FAQ", href: "/" }, { label: "FAQ", href: "/#faq" },
{ label: "Service Hours", href: "#" }, { label: "Service Hours", href: "/services" },
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "#" },
{ label: "Disclaimer", href: "#" }, { label: "Disclaimer", href: "#" },
@@ -69,11 +69,44 @@ const AboutPage = () => {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="light" headingFontWeight="light"
> >
{/* Sticky Call Now Button */}
<button
onClick={handleCallNow}
className="fixed bottom-8 right-8 z-50 bg-gradient-to-r from-[var(--primary-cta)] to-[var(--accent)] hover:shadow-lg transform hover:scale-105 transition-all duration-300 text-white px-6 py-4 rounded-full flex items-center gap-2 font-semibold shadow-lg"
aria-label="Call now for immediate service"
>
<Phone size={20} />
<span>Call Now</span>
</button>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Shook Towing" brandName="Shook Towing"
navItems={navItems} navItems={navItems}
button={{ text: "Call Now", href: "tel:+15619999999" }} button={{
text: "Call Now", href: "tel:+15619999999"}}
/>
</div>
<div id="hero" data-section="hero">
<HeroSplit
title="About Shook Towing"
description="Built on respect, reliability, and a passion for helping people in their toughest moments. Learn the story of how Shook Towing became Corpus Christi's most trusted towing service."
tag="Our Story"
tagAnimation="slide-up"
buttons={[
{
text: "Call Us Today", href: "tel:+15619999999"},
{
text: "Get a Quote", href: "/contact"},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/plumber-doing-victory-gesture_1368-6312.jpg?_wi=1"
imageAlt="Shook Towing team professional portrait"
mediaAnimation="blur-reveal"
background={{
variant: "radial-gradient"}}
imagePosition="right"
/> />
</div> </div>
@@ -82,128 +115,35 @@ const AboutPage = () => {
title="A Tow Company Built on Respect and Reliability" title="A Tow Company Built on Respect and Reliability"
description="Shook Towing started with a simple idea: people deserve a tow service that treats them like family, not a problem. From day one, Richard has focused on being fast, fair, and kind—showing up when it matters most and doing more than just hooking up a vehicle. Whether it's giving you a ride to the dealership, talking you through what's wrong, or finding a way to fix a simple issue on the spot, Shook Towing is about making a bad day feel a little less heavy." description="Shook Towing started with a simple idea: people deserve a tow service that treats them like family, not a problem. From day one, Richard has focused on being fast, fair, and kind—showing up when it matters most and doing more than just hooking up a vehicle. Whether it's giving you a ride to the dealership, talking you through what's wrong, or finding a way to fix a simple issue on the spot, Shook Towing is about making a bad day feel a little less heavy."
metrics={[ metrics={[
{ value: "100%", title: "Customer Satisfaction" }, {
{ value: "20-30 min", title: "Average Response Time" }, value: "100%", title: "Customer Satisfaction"},
{ value: "24/7", title: "Emergency Service" }, {
value: "20-30 min", title: "Average Response Time"},
{
value: "24/7", title: "Emergency Service"},
]} ]}
useInvertedBackground={false} useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/plumber-doing-victory-gesture_1368-6312.jpg?_wi=2" imageSrc="http://img.b2bpic.net/free-photo/worker-office-receiving-feedback-from-management-executive_482257-126629.jpg?_wi=1"
imageAlt="professional towing owner with tow truck portrait" imageAlt="Shook Towing customer service team"
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
metricsAnimation="slide-up"
/> />
</div> </div>
<div id="features" data-section="features"> <div id="contact-cta" data-section="contact-cta">
<FeatureBento <ContactCTA
title="Why Choose Shook Towing" tag="Ready to Experience the Difference"
description="Our commitment to excellence in every interaction sets us apart in the industry." tagIcon={AlertCircle}
features={[ title="Let Us Show You Why We're Different"
description="Contact Shook Towing today and experience genuine customer care combined with professional expertise."
buttons={[
{ {
title: "Fast Response", text: "Call Now", href: "tel:+15619999999"},
description: "We know you're stuck. We work quickly to get to you and get you moving again.",
bentoComponent: "icon-info-cards",
items: [
{ icon: Zap, label: "Average Time", value: "20-30 min" },
{ icon: MapPin, label: "Service Area", value: "Corpus Christi" },
],
},
{ {
title: "Professional & Courteous", text: "Request Service", href: "/contact"},
description: "From a ride to the dealership to patient, clear communication, you'll always be treated with respect.",
bentoComponent: "icon-info-cards",
items: [
{ icon: Users, label: "Skilled Drivers", value: "Richard & Team" },
{ icon: Heart, label: "Customer Care", value: "Always Priority" },
],
},
{
title: "Fair, Honest Pricing",
description: "Reasonable, transparent rates—no surprise fees. We believe in treating people right.",
bentoComponent: "icon-info-cards",
items: [
{ icon: Clock, label: "Available", value: "24/7 Service" },
{ icon: Wrench, label: "Quality", value: "Professional Grade" },
],
},
{
title: "More Than Just a Tow",
description: "From basic diagnosis to quick fixes in a parking lot, we help however we can.",
bentoComponent: "icon-info-cards",
items: [
{ icon: Wrench, label: "Quick Fixes", value: "When Possible" },
{ icon: Lightbulb, label: "Diagnosis", value: "Expert Advice" },
],
},
]} ]}
animationType="slide-up" background={{
textboxLayout="default" variant: "downward-rays-animated"}}
useInvertedBackground={false}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardThirteen
title="What Our Customers Say"
description="Hundreds of satisfied customers share their experiences with Shook Towing."
testimonials={[
{
id: "1",
name: "Melissa P.",
handle: "Late Evening Breakdown",
testimonial: "Best tow service we have ever used. Super nice and picked the truck up in a short time. Highly recommend!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=2",
imageAlt: "satisfied customer woman smiling portrait",
},
{
id: "2",
name: "Brianna S.",
handle: "Repeat Customer",
testimonial: "I've used Shook Towing several times... he never fails to make a frustrating situation so much easier.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/confident-office-employers-thumbing-up-smiling-two-happy-professional-businesswomen-standing-together-posing-meeting-room-teamwork-business-cooperation-concept_74855-6924.jpg?_wi=2",
imageAlt: "satisfied woman customer headshot portrait",
},
{
id: "3",
name: "Connie R.",
handle: "Long-Term Trust",
testimonial: "Very helpful, great attitude, very fast. Price was awesome. I would trust no one else to tow my vehicles.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=2",
imageAlt: "mature woman customer portrait smiling",
},
{
id: "4",
name: "Caleb M.",
handle: "Parking Lot Fix",
testimonial: "Richard basically diagnosed and fixed my car in the parking lot. Saved us time and money. Professional and patient.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/worker-gesturing-with-his-left-hand_1149-184.jpg?_wi=2",
imageAlt: "satisfied man customer portrait headshot",
},
{
id: "5",
name: "Sarah J.",
handle: "Excellent Service",
testimonial: "Provided excellent service when we needed it most. Courteous, professional, and even gave us a ride to the dealership.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/mature-woman-smiling_1149-601.jpg?_wi=2",
imageAlt: "professional woman customer portrait headshot",
},
{
id: "6",
name: "David K.",
handle: "Reliable Professional",
testimonial: "Professional, punctual, skilled, patient, and friendly. Best of all, his price was very reasonable.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/people-recording-their-house-tour_23-2151139106.jpg?_wi=2",
imageAlt: "satisfied man customer headshot portrait",
},
]}
showRating={true}
animationType="scale-rotate"
textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
/> />
</div> </div>
@@ -217,6 +157,4 @@ const AboutPage = () => {
</div> </div>
</ThemeProvider> </ThemeProvider>
); );
}; }
export default AboutPage;

View File

@@ -1,25 +1,25 @@
"use client"; "use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import ContactCTA from "@/components/sections/contact/ContactCTA"; import ContactCTA from "@/components/sections/contact/ContactCTA";
import FooterSimple from "@/components/sections/footer/FooterSimple"; import FooterSimple from "@/components/sections/footer/FooterSimple";
import Link from "next/link"; import { Phone, Clock, AlertCircle } from "lucide-react";
import { AlertCircle } from "lucide-react";
export default function ContactPage() { export default function ContactPage() {
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "/" },
{ name: "Services", id: "services" }, { name: "Services", id: "/services" },
{ name: "About", id: "about" }, { name: "Reviews", id: "/reviews" },
{ name: "Reviews", id: "reviews" }, { name: "Contact", id: "/contact" },
{ name: "Contact", id: "contact" },
]; ];
const footerColumns = [ const footerColumns = [
{ {
title: "Services", title: "Services", items: [
items: [
{ label: "Towing Services", href: "/services" }, { label: "Towing Services", href: "/services" },
{ label: "Roadside Assistance", href: "/services" }, { label: "Roadside Assistance", href: "/services" },
{ label: "Vehicle Transport", href: "/services" }, { label: "Vehicle Transport", href: "/services" },
@@ -27,26 +27,23 @@ export default function ContactPage() {
], ],
}, },
{ {
title: "Company", title: "Company", items: [
items: [ { label: "About Us", href: "#about" },
{ label: "About Us", href: "/about" },
{ label: "Customer Reviews", href: "/reviews" }, { label: "Customer Reviews", href: "/reviews" },
{ label: "Service Area", href: "/services" }, { label: "Service Area", href: "/services" },
{ label: "Contact Us", href: "/contact" }, { label: "Contact Us", href: "/contact" },
], ],
}, },
{ {
title: "Get Help", title: "Get Help", items: [
items: [
{ label: "Call Now", href: "tel:+15619999999" }, { label: "Call Now", href: "tel:+15619999999" },
{ label: "Request a Quote", href: "/contact" }, { label: "Request a Quote", href: "/contact" },
{ label: "FAQ", href: "/" }, { label: "FAQ", href: "/#faq" },
{ label: "Service Hours", href: "#" }, { label: "Service Hours", href: "#" },
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "#" },
{ label: "Disclaimer", href: "#" }, { label: "Disclaimer", href: "#" },
@@ -72,104 +69,97 @@ export default function ContactPage() {
brandName="Shook Towing" brandName="Shook Towing"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Call Now", text: "Call Now", href: "tel:+15619999999"}}
href: "tel:+15619999999",
}}
/> />
</div> </div>
<div id="contact-cta" data-section="contact-cta"> <div id="hero" data-section="hero">
<ContactCTA <HeroSplit
tag="Need Help Right Now?" title="Get in Touch with Shook Towing"
tagIcon={AlertCircle} description="Whether you need immediate emergency service or want to schedule a quote, we're here to help. Available 24/7 for your convenience."
tag="24/7 Emergency Service"
tagIcon={Clock}
tagAnimation="slide-up" tagAnimation="slide-up"
title="Don't Sit Stuck and Stressed"
description="One call gets you a professional, friendly driver on the way. Shook Towing is here when you need us most."
buttons={[ buttons={[
{ {
text: "Call Now for Immediate Service", text: "Call Now for Immediate Service", href: "tel:+15619999999"},
href: "tel:+15619999999",
},
{ {
text: "Request a Callback", text: "Fill Out Form Below", href: "#contact-form"},
href: "#contact-form",
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/mechanic-giving-keys-car-customer_329181-11861.jpg?_wi=1"
imageAlt="professional towing service"
mediaAnimation="blur-reveal"
background={{ background={{
variant: "downward-rays-animated", variant: "radial-gradient"}}
}} imagePosition="right"
/>
</div>
<div id="call-now" data-section="call-now">
<ContactCTA
tag="Emergency Service"
tagIcon={AlertCircle}
title="Need Help Right Now?"
description="Don't wait. Call us immediately for emergency towing and roadside assistance. We're always ready to help."
buttons={[
{
text: "Call Now: +1 (561) 999-9999", href: "tel:+15619999999"},
]}
background={{
variant: "downward-rays-animated"}}
useInvertedBackground={false} useInvertedBackground={false}
/> />
</div> </div>
<div id="contact-form" data-section="contact-form" className="mx-auto px-4 md:px-6 py-16 md:py-24 max-w-2xl"> <div id="contact-form" data-section="contact-form">
<div className="bg-white rounded-3xl p-8 md:p-12 border border-gray-200 shadow-sm"> <ContactSplitForm
<h2 className="text-3xl md:text-4xl font-light text-gray-900 mb-2"> title="Request a Quote or Schedule Service"
Get in Touch description="Fill out the form below and we'll get back to you as soon as possible. For immediate service, call us directly at +1 (561) 999-9999. Your information helps us provide the best service possible."
</h2> inputs={[
<p className="text-gray-600 mb-8"> {
Have questions? We're here to help. Contact us using any of the methods below. name: "name", type: "text", placeholder: "Your Name", required: true,
</p> },
{
name: "phone", type: "tel", placeholder: "Your Phone Number", required: true,
},
{
name: "location", type: "text", placeholder: "Your Location", required: true,
},
{
name: "vehicleType", type: "text", placeholder: "Vehicle Type (e.g., Sedan, Truck, SUV)", required: false,
},
]}
textarea={{
name: "issue", placeholder: "What's going on? (Describe your issue or service need)", rows: 5,
required: true,
}}
useInvertedBackground={false}
buttonText="Submit Request"
mediaAnimation="blur-reveal"
/>
</div>
<div className="space-y-6"> <div id="reassurance" data-section="reassurance">
<div> <div className="py-16 px-4">
<h3 className="text-lg font-semibold text-gray-900 mb-2"> <div className="max-w-3xl mx-auto text-center">
Call Us Anytime <h2 className="text-3xl font-bold mb-6">Why You Can Trust Us</h2>
</h3> <div className="grid grid-cols-1 md:grid-cols-3 gap-8">
<a <div className="p-6">
href="tel:+15619999999" <Phone className="w-12 h-12 mx-auto mb-4" />
className="text-2xl font-light text-indigo-600 hover:text-indigo-700 transition-colors" <h3 className="font-semibold mb-2">Always Available</h3>
> <p className="text-sm opacity-75">Open 24/7, every day of the week for emergencies and scheduled service. Your problem doesn't wait, neither do we.</p>
(561) 999-9999 </div>
</a> <div className="p-6">
<p className="text-sm text-gray-600 mt-1">Available 24/7 for emergencies</p> <AlertCircle className="w-12 h-12 mx-auto mb-4" />
</div> <h3 className="font-semibold mb-2">Fast & Reliable</h3>
<p className="text-sm opacity-75">Average response time of 20-30 minutes. Professional drivers with real expertise, not just a hook and winch.</p>
<div> </div>
<h3 className="text-lg font-semibold text-gray-900 mb-2"> <div className="p-6">
Service Area <Clock className="w-12 h-12 mx-auto mb-4" />
</h3> <h3 className="font-semibold mb-2">Fair Pricing</h3>
<p className="text-gray-600"> <p className="text-sm opacity-75">Transparent, competitive rates with no surprise fees. We believe in treating people right, not taking advantage.</p>
Corpus Christi and surrounding areas in Texas </div>
</p>
</div>
<div>
<h3 className="text-lg font-semibold text-gray-900 mb-2">
Response Time
</h3>
<p className="text-gray-600">
Average response time: 20-30 minutes
</p>
</div>
<div className="pt-6 border-t border-gray-200">
<h3 className="text-lg font-semibold text-gray-900 mb-4">
Why Choose Shook Towing?
</h3>
<ul className="space-y-2 text-gray-600">
<li className="flex items-start">
<span className="text-indigo-600 mr-2"></span>
<span>Professional and courteous drivers</span>
</li>
<li className="flex items-start">
<span className="text-indigo-600 mr-2"></span>
<span>Fair, honest pricing with no hidden fees</span>
</li>
<li className="flex items-start">
<span className="text-indigo-600 mr-2"></span>
<span>24/7 emergency service</span>
</li>
<li className="flex items-start">
<span className="text-indigo-600 mr-2"></span>
<span>Licensed and insured</span>
</li>
<li className="flex items-start">
<span className="text-indigo-600 mr-2"></span>
<span>Fast response times in Corpus Christi</span>
</li>
</ul>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,54 +1,32 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Halant } from "next/font/google"; import { Montserrat } from "next/font/google";
import { Inter } from "next/font/google"; import { Lato } from "next/font/google";
import { Archivo } from "next/font/google";
import "./globals.css"; import "./globals.css";
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";
const halant = Halant({ const montserrat = Montserrat({
variable: "--font-halant", variable: "--font-montserrat", subsets: ["latin"],
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
}); });
const inter = Inter({ const lato = Lato({
variable: "--font-inter", variable: "--font-lato", subsets: ["latin"],
subsets: ["latin"], weight: ["100", "300", "400", "700", "900"],
});
const archivo = Archivo({
variable: "--font-archivo",
subsets: ["latin"],
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Shook Towing | Fast, Fair, Professional Towing in Corpus Christi", title: "Shook Towing | Fast, Fair, Professional Towing in Corpus Christi", description: "Fast, friendly towing and roadside assistance 24/7 in Corpus Christi. Honest pricing, professional drivers, exceptional service when you need it most.", keywords: "towing service Corpus Christi, roadside assistance, emergency towing, flatbed towing, vehicle transport, professional drivers", metadataBase: new URL("https://shooktowing.com"),
description: "Fast, friendly towing and roadside assistance 24/7 in Corpus Christi. Honest pricing, professional drivers, exceptional service when you need it most.",
keywords: "towing service Corpus Christi, roadside assistance, emergency towing, flatbed towing, vehicle transport, professional drivers",
metadataBase: new URL("https://shooktowing.com"),
alternates: { alternates: {
canonical: "https://shooktowing.com", canonical: "https://shooktowing.com"},
},
openGraph: { openGraph: {
title: "Shook Towing | Fast & Fair Towing in Corpus Christi", title: "Shook Towing | Fast & Fair Towing in Corpus Christi", description: "Professional towing and roadside assistance available 24/7. Fast response, honest pricing, exceptional care.", url: "https://shooktowing.com", siteName: "Shook Towing", type: "website", images: [
description: "Professional towing and roadside assistance available 24/7. Fast response, honest pricing, exceptional care.",
url: "https://shooktowing.com",
siteName: "Shook Towing",
type: "website",
images: [
{ {
url: "https://shooktowing.com/og-image.jpg", url: "https://shooktowing.com/og-image.jpg", alt: "Shook Towing professional tow truck and team"},
alt: "Shook Towing professional tow truck and team",
},
], ],
}, },
twitter: { twitter: {
card: "summary_large_image", card: "summary_large_image", title: "Shook Towing | Fast & Fair Towing in Corpus Christi", description: "Professional towing and roadside assistance available 24/7. Fast response, honest pricing, exceptional care.", images: ["https://shooktowing.com/twitter-image.jpg"],
title: "Shook Towing | Fast & Fair Towing in Corpus Christi",
description: "Professional towing and roadside assistance available 24/7. Fast response, honest pricing, exceptional care.",
images: ["https://shooktowing.com/twitter-image.jpg"],
}, },
robots: { robots: {
index: true, index: true,
@@ -65,7 +43,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body <body
className={`${halant.variable} ${inter.variable} ${archivo.variable} antialiased`} className={`${montserrat.variable} ${lato.variable} antialiased`}
> >
<Tag /> <Tag />
{children} {children}

View File

@@ -6,7 +6,6 @@ import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatin
import HeroSplit from "@/components/sections/hero/HeroSplit"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne"; import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import FeatureBento from "@/components/sections/feature/FeatureBento"; import FeatureBento from "@/components/sections/feature/FeatureBento";
import ProductCardOne from "@/components/sections/product/ProductCardOne";
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen"; import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout"; import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout";
import FaqSplitMedia from "@/components/sections/faq/FaqSplitMedia"; import FaqSplitMedia from "@/components/sections/faq/FaqSplitMedia";
@@ -23,21 +22,26 @@ import {
Wrench, Wrench,
Lightbulb, Lightbulb,
AlertCircle, AlertCircle,
Phone,
} from "lucide-react"; } from "lucide-react";
export default function HomePage() { export default function HomePage() {
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "/" },
{ name: "Services", id: "services" }, { name: "Services", id: "/services" },
{ name: "About", id: "about" }, { name: "About", id: "/about" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "contact" }, { name: "Service Area", id: "/service-area" },
{ name: "Contact", id: "/contact" },
]; ];
const handleCallNow = () => {
window.location.href = "tel:+15619999999";
};
const footerColumns = [ const footerColumns = [
{ {
title: "Services", title: "Services", items: [
items: [
{ label: "Towing Services", href: "/services" }, { label: "Towing Services", href: "/services" },
{ label: "Roadside Assistance", href: "/services" }, { label: "Roadside Assistance", href: "/services" },
{ label: "Vehicle Transport", href: "/services" }, { label: "Vehicle Transport", href: "/services" },
@@ -45,26 +49,23 @@ export default function HomePage() {
], ],
}, },
{ {
title: "Company", title: "Company", items: [
items: [ { label: "About Us", href: "/about" },
{ label: "About Us", href: "#about" }, { label: "Customer Reviews", href: "/reviews" },
{ label: "Customer Reviews", href: "#testimonials" }, { label: "Service Area", href: "/service-area" },
{ label: "Service Area", href: "/services" }, { label: "Contact Us", href: "/contact" },
{ label: "Contact Us", href: "#contact-cta" },
], ],
}, },
{ {
title: "Get Help", title: "Get Help", items: [
items: [ { label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
{ label: "Call Now", href: "tel:+15619999999" }, { label: "Request a Quote", href: "/contact" },
{ label: "Request a Quote", href: "#contact-cta" },
{ label: "FAQ", href: "#faq" }, { label: "FAQ", href: "#faq" },
{ label: "Service Hours", href: "#" }, { label: "Service Hours", href: "/services" },
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "#" },
{ label: "Disclaimer", href: "#" }, { label: "Disclaimer", href: "#" },
@@ -85,14 +86,22 @@ export default function HomePage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="light" headingFontWeight="light"
> >
{/* Sticky Call Now Button */}
<button
onClick={handleCallNow}
className="fixed bottom-8 right-8 z-50 bg-gradient-to-r from-[var(--primary-cta)] to-[var(--accent)] hover:shadow-lg transform hover:scale-105 transition-all duration-300 text-white px-6 py-4 rounded-full flex items-center gap-2 font-semibold shadow-lg"
aria-label="Call now for immediate service"
>
<Phone size={20} />
<span>Call Now</span>
</button>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Shook Towing" brandName="Shook Towing"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Call Now", text: "Call Now", href: "tel:+15619999999"}}
href: "tel:+15619999999",
}}
/> />
</div> </div>
@@ -105,21 +114,16 @@ export default function HomePage() {
tagAnimation="slide-up" tagAnimation="slide-up"
buttons={[ buttons={[
{ {
text: "Call Now for Immediate Service", text: "Call Now for Immediate Service", href: "tel:+15619999999"},
href: "tel:+15619999999",
},
{ {
text: "Request a Quote", text: "Request a Quote", href: "/contact"},
href: "#contact-cta",
},
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/mechanic-giving-keys-car-customer_329181-11861.jpg" imageSrc="http://img.b2bpic.net/free-photo/mechanic-giving-keys-car-customer_329181-11861.jpg?_wi=2"
imageAlt="professional tow truck driver helping customer" imageAlt="professional tow truck driver helping customer"
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
background={{ background={{
variant: "radial-gradient", variant: "radial-gradient"}}
}}
imagePosition="right" imagePosition="right"
/> />
</div> </div>
@@ -129,15 +133,7 @@ export default function HomePage() {
title="Hundreds of Happy Customers Across Corpus Christi" title="Hundreds of Happy Customers Across Corpus Christi"
description="Real people, real results. Here's what our customers say when it matters most." description="Real people, real results. Here's what our customers say when it matters most."
names={[ names={[
"Melissa P.", "Melissa P.", "Brianna S.", "Connie R.", "Caleb M.", "Sarah J.", "David K.", "Emily R.", "James T."]}
"Brianna S.",
"Connie R.",
"Caleb M.",
"Sarah J.",
"David K.",
"Emily R.",
"James T.",
]}
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
speed={40} speed={40}
@@ -151,71 +147,43 @@ export default function HomePage() {
description="We know you're stressed. Here's why thousands of Corpus Christi residents trust us." description="We know you're stressed. Here's why thousands of Corpus Christi residents trust us."
features={[ features={[
{ {
title: "Fast Response", title: "Fast Response", description: "We know you're stuck. We work quickly to get to you and get you moving again.", bentoComponent: "icon-info-cards", items: [
description: "We know you're stuck. We work quickly to get to you and get you moving again.",
bentoComponent: "icon-info-cards",
items: [
{ {
icon: Zap, icon: Zap,
label: "Average Time", label: "Average Time", value: "20-30 min"},
value: "20-30 min",
},
{ {
icon: MapPin, icon: MapPin,
label: "Service Area", label: "Service Area", value: "Corpus Christi"},
value: "Corpus Christi",
},
], ],
}, },
{ {
title: "Professional & Courteous", title: "Professional & Courteous", description: "From a ride to the dealership to patient, clear communication, you'll always be treated with respect.", bentoComponent: "icon-info-cards", items: [
description: "From a ride to the dealership to patient, clear communication, you'll always be treated with respect.",
bentoComponent: "icon-info-cards",
items: [
{ {
icon: Users, icon: Users,
label: "Skilled Drivers", label: "Skilled Drivers", value: "Richard & Team"},
value: "Richard & Team",
},
{ {
icon: Heart, icon: Heart,
label: "Customer Care", label: "Customer Care", value: "Always Priority"},
value: "Always Priority",
},
], ],
}, },
{ {
title: "Fair, Honest Pricing", title: "Fair, Honest Pricing", description: "Reasonable, transparent rates—no surprise fees. We believe in treating people right.", bentoComponent: "icon-info-cards", items: [
description: "Reasonable, transparent rates—no surprise fees. We believe in treating people right.",
bentoComponent: "icon-info-cards",
items: [
{ {
icon: DollarSign, icon: DollarSign,
label: "Price Guarantee", label: "Price Guarantee", value: "Competitive Rates"},
value: "Competitive Rates",
},
{ {
icon: CheckCircle, icon: CheckCircle,
label: "Transparency", label: "Transparency", value: "No Hidden Fees"},
value: "No Hidden Fees",
},
], ],
}, },
{ {
title: "More Than Just a Tow", title: "More Than Just a Tow", description: "From basic diagnosis to quick fixes in a parking lot, we help however we can.", bentoComponent: "icon-info-cards", items: [
description: "From basic diagnosis to quick fixes in a parking lot, we help however we can.",
bentoComponent: "icon-info-cards",
items: [
{ {
icon: Wrench, icon: Wrench,
label: "Quick Fixes", label: "Quick Fixes", value: "When Possible"},
value: "When Possible",
},
{ {
icon: Lightbulb, icon: Lightbulb,
label: "Diagnosis", label: "Diagnosis", value: "Expert Advice"},
value: "Expert Advice",
},
], ],
}, },
]} ]}
@@ -231,53 +199,23 @@ export default function HomePage() {
description="Here's what our customers say about their experience with Shook Towing." description="Here's what our customers say about their experience with Shook Towing."
testimonials={[ testimonials={[
{ {
id: "1", id: "1", name: "Melissa P.", handle: "Late Evening Breakdown", testimonial: "Best tow service we have ever used. Super nice and picked the truck up in a short time. Highly recommend!", rating: 5,
name: "Melissa P.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=1"},
handle: "Late Evening Breakdown",
testimonial: "Best tow service we have ever used. Super nice and picked the truck up in a short time. Highly recommend!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=1",
},
{ {
id: "2", id: "2", name: "Brianna S.", handle: "Repeat Customer", testimonial: "I've used Shook Towing several times... he never fails to make a frustrating situation so much easier.", rating: 5,
name: "Brianna S.", imageSrc: "http://img.b2bpic.net/free-photo/confident-office-employers-thumbing-up-smiling-two-happy-professional-businesswomen-standing-together-posing-meeting-room-teamwork-business-cooperation-concept_74855-6924.jpg?_wi=1"},
handle: "Repeat Customer",
testimonial: "I've used Shook Towing several times... he never fails to make a frustrating situation so much easier.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/confident-office-employers-thumbing-up-smiling-two-happy-professional-businesswomen-standing-together-posing-meeting-room-teamwork-business-cooperation-concept_74855-6924.jpg?_wi=1",
},
{ {
id: "3", id: "3", name: "Connie R.", handle: "Long-Term Trust", testimonial: "Very helpful, great attitude, very fast. Price was awesome. I would trust no one else to tow my vehicles.", rating: 5,
name: "Connie R.", imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=1"},
handle: "Long-Term Trust",
testimonial: "Very helpful, great attitude, very fast. Price was awesome. I would trust no one else to tow my vehicles.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=1",
},
{ {
id: "4", id: "4", name: "Caleb M.", handle: "Parking Lot Fix", testimonial: "Richard basically diagnosed and fixed my car in the parking lot. Saved us time and money. Professional and patient.", rating: 5,
name: "Caleb M.", imageSrc: "http://img.b2bpic.net/free-photo/worker-gesturing-with-his-left-hand_1149-184.jpg?_wi=1"},
handle: "Parking Lot Fix",
testimonial: "Richard basically diagnosed and fixed my car in the parking lot. Saved us time and money. Professional and patient.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/worker-gesturing-with-his-left-hand_1149-184.jpg?_wi=1",
},
{ {
id: "5", id: "5", name: "Sarah J.", handle: "Excellent Service", testimonial: "Provided excellent service when we needed it most. Courteous, professional, and even gave us a ride to the dealership.", rating: 5,
name: "Sarah J.", imageSrc: "http://img.b2bpic.net/free-photo/mature-woman-smiling_1149-601.jpg?_wi=1"},
handle: "Excellent Service",
testimonial: "Provided excellent service when we needed it most. Courteous, professional, and even gave us a ride to the dealership.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/mature-woman-smiling_1149-601.jpg?_wi=1",
},
{ {
id: "6", id: "6", name: "David K.", handle: "Reliable Professional", testimonial: "Professional, punctual, skilled, patient, and friendly. Best of all, his price was very reasonable.", rating: 5,
name: "David K.", imageSrc: "http://img.b2bpic.net/free-photo/people-recording-their-house-tour_23-2151139106.jpg?_wi=1"},
handle: "Reliable Professional",
testimonial: "Professional, punctual, skilled, patient, and friendly. Best of all, his price was very reasonable.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/people-recording-their-house-tour_23-2151139106.jpg?_wi=1",
},
]} ]}
showRating={true} showRating={true}
animationType="scale-rotate" animationType="scale-rotate"
@@ -292,22 +230,17 @@ export default function HomePage() {
description="Shook Towing started with a simple idea: people deserve a tow service that treats them like family, not a problem. From day one, Richard has focused on being fast, fair, and kind—showing up when it matters most and doing more than just hooking up a vehicle. Whether it's giving you a ride to the dealership, talking you through what's wrong, or finding a way to fix a simple issue on the spot, Shook Towing is about making a bad day feel a little less heavy." description="Shook Towing started with a simple idea: people deserve a tow service that treats them like family, not a problem. From day one, Richard has focused on being fast, fair, and kind—showing up when it matters most and doing more than just hooking up a vehicle. Whether it's giving you a ride to the dealership, talking you through what's wrong, or finding a way to fix a simple issue on the spot, Shook Towing is about making a bad day feel a little less heavy."
metrics={[ metrics={[
{ {
value: "100%", value: "100%", title: "Customer Satisfaction"},
title: "Customer Satisfaction",
},
{ {
value: "20-30 min", value: "20-30 min", title: "Average Response Time"},
title: "Average Response Time",
},
{ {
value: "24/7", value: "24/7", title: "Emergency Service"},
title: "Emergency Service",
},
]} ]}
useInvertedBackground={false} useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/plumber-doing-victory-gesture_1368-6312.jpg?_wi=1" imageSrc="http://img.b2bpic.net/free-photo/plumber-doing-victory-gesture_1368-6312.jpg?_wi=1"
imageAlt="professional towing owner with tow truck portrait" imageAlt="professional towing owner with tow truck portrait"
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
metricsAnimation="slide-up"
/> />
</div> </div>
@@ -317,41 +250,19 @@ export default function HomePage() {
description="Got questions? We've got answers. Here's what people usually want to know." description="Got questions? We've got answers. Here's what people usually want to know."
faqs={[ faqs={[
{ {
id: "1", id: "1", title: "Do you take cards?", content: "Yes, we accept all major credit and debit cards, as well as cash. We're flexible to make things easy for you in a stressful moment."},
title: "Do you take cards?",
content: "Yes, we accept all major credit and debit cards, as well as cash. We're flexible to make things easy for you in a stressful moment.",
},
{ {
id: "2", id: "2", title: "How far will you tow?", content: "We serve Corpus Christi and surrounding areas. If you're not sure whether you're in our range, just call—we'll let you know in seconds."},
title: "How far will you tow?",
content: "We serve Corpus Christi and surrounding areas. If you're not sure whether you're in our range, just call—we'll let you know in seconds.",
},
{ {
id: "3", id: "3", title: "Can you give me a ride with my vehicle?", content: "Absolutely. One of the ways we go above and beyond is offering rides to the dealership, your home, or wherever you need to go."},
title: "Can you give me a ride with my vehicle?",
content: "Absolutely. One of the ways we go above and beyond is offering rides to the dealership, your home, or wherever you need to go.",
},
{ {
id: "4", id: "4", title: "Do you work with roadside assistance and insurance?", content: "Yes. We work with most roadside assistance programs and insurance companies. Let us know your coverage when you call."},
title: "Do you work with roadside assistance and insurance?",
content: "Yes. We work with most roadside assistance programs and insurance companies. Let us know your coverage when you call.",
},
{
id: "5",
title: "How long does it usually take?",
content: "Our average response time is 20-30 minutes, depending on your location and current demand. We'll give you an ETA when you call.",
},
{
id: "6",
title: "What if my car won't start at night?",
content: "No problem. We operate 24/7, every day of the week. Call us anytime and we'll get help to you as fast as we can.",
},
]} ]}
faqsAnimation="slide-up" faqsAnimation="slide-up"
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/worker-office-receiving-feedback-from-management-executive_482257-126629.jpg" imageSrc="http://img.b2bpic.net/free-photo/worker-office-receiving-feedback-from-management-executive_482257-126629.jpg?_wi=2"
imageAlt="customer support team ready to help" imageAlt="customer support team ready to help"
/> />
</div> </div>
@@ -364,17 +275,12 @@ export default function HomePage() {
description="One call gets you a professional, friendly driver on the way. Shook Towing is here when you need us most." description="One call gets you a professional, friendly driver on the way. Shook Towing is here when you need us most."
buttons={[ buttons={[
{ {
text: "Call Now for Immediate Service", text: "Call Now for Immediate Service", href: "tel:+15619999999"},
href: "tel:+15619999999",
},
{ {
text: "Request a Callback", text: "Request a Callback", href: "/contact"},
href: "#contact-cta",
},
]} ]}
background={{ background={{
variant: "downward-rays-animated", variant: "downward-rays-animated"}}
}}
useInvertedBackground={false} useInvertedBackground={false}
/> />
</div> </div>

View File

@@ -1,27 +1,30 @@
"use client"; "use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen"; import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import FooterSimple from "@/components/sections/footer/FooterSimple"; import FooterSimple from "@/components/sections/footer/FooterSimple";
import { AlertCircle } from "lucide-react"; import ContactCTA from "@/components/sections/contact/ContactCTA";
import { AlertCircle, Phone } from "lucide-react";
const ReviewsPage = () => { export default function ReviewsPage() {
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "/" },
{ name: "Services", id: "services" }, { name: "Services", id: "/services" },
{ name: "About", id: "about" }, { name: "About", id: "/about" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "contact" }, { name: "Service Area", id: "/service-area" },
{ name: "Contact", id: "/contact" },
]; ];
const handleCallNow = () => {
window.location.href = "tel:+15619999999";
};
const footerColumns = [ const footerColumns = [
{ {
title: "Services", title: "Services", items: [
items: [
{ label: "Towing Services", href: "/services" }, { label: "Towing Services", href: "/services" },
{ label: "Roadside Assistance", href: "/services" }, { label: "Roadside Assistance", href: "/services" },
{ label: "Vehicle Transport", href: "/services" }, { label: "Vehicle Transport", href: "/services" },
@@ -29,26 +32,23 @@ const ReviewsPage = () => {
], ],
}, },
{ {
title: "Company", title: "Company", items: [
items: [
{ label: "About Us", href: "/about" }, { label: "About Us", href: "/about" },
{ label: "Customer Reviews", href: "/reviews" }, { label: "Customer Reviews", href: "/reviews" },
{ label: "Service Area", href: "/services" }, { label: "Service Area", href: "/service-area" },
{ label: "Contact Us", href: "/contact" }, { label: "Contact Us", href: "/contact" },
], ],
}, },
{ {
title: "Get Help", title: "Get Help", items: [
items: [ { label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
{ label: "Call Now", href: "tel:+15619999999" },
{ label: "Request a Quote", href: "/contact" }, { label: "Request a Quote", href: "/contact" },
{ label: "FAQ", href: "/" }, { label: "FAQ", href: "/#faq" },
{ label: "Service Hours", href: "#" }, { label: "Service Hours", href: "/services" },
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "#" },
{ label: "Disclaimer", href: "#" }, { label: "Disclaimer", href: "#" },
@@ -69,32 +69,44 @@ const ReviewsPage = () => {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="light" headingFontWeight="light"
> >
{/* Sticky Call Now Button */}
<button
onClick={handleCallNow}
className="fixed bottom-8 right-8 z-50 bg-gradient-to-r from-[var(--primary-cta)] to-[var(--accent)] hover:shadow-lg transform hover:scale-105 transition-all duration-300 text-white px-6 py-4 rounded-full flex items-center gap-2 font-semibold shadow-lg"
aria-label="Call now for immediate service"
>
<Phone size={20} />
<span>Call Now</span>
</button>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Shook Towing" brandName="Shook Towing"
navItems={navItems} navItems={navItems}
button={{ text: "Call Now", href: "tel:+15619999999" }} button={{
text: "Call Now", href: "tel:+15619999999"}}
/> />
</div> </div>
<div id="social-proof" data-section="social-proof"> <div id="hero" data-section="hero">
<SocialProofOne <HeroSplit
title="Hundreds of Happy Customers Across Corpus Christi" title="Customer Reviews & Testimonials"
description="Real people, real results. Here's what our customers say when it matters most." description="Read real stories from real people who have experienced Shook Towing's professional, friendly, and reliable service."
names={[ tag="5-Star Service"
"Melissa P.", tagAnimation="slide-up"
"Brianna S.", buttons={[
"Connie R.", {
"Caleb M.", text: "Call for Service", href: "tel:+15619999999"},
"Sarah J.", {
"David K.", text: "See Our Services", href: "/services"},
"Emily R.",
"James T.",
]} ]}
textboxLayout="default" buttonAnimation="slide-up"
useInvertedBackground={false} imageSrc="http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=1"
speed={40} imageAlt="Happy customer testimonial"
showCard={true} mediaAnimation="blur-reveal"
background={{
variant: "radial-gradient"}}
imagePosition="right"
/> />
</div> </div>
@@ -104,59 +116,23 @@ const ReviewsPage = () => {
description="Here's what our customers say about their experience with Shook Towing." description="Here's what our customers say about their experience with Shook Towing."
testimonials={[ testimonials={[
{ {
id: "1", id: "1", name: "Melissa P.", handle: "Late Evening Breakdown", testimonial: "Best tow service we have ever used. Super nice and picked the truck up in a short time. Highly recommend!", rating: 5,
name: "Melissa P.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=1"},
handle: "Late Evening Breakdown",
testimonial: "Best tow service we have ever used. Super nice and picked the truck up in a short time. Highly recommend!",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=3",
imageAlt: "satisfied customer woman smiling portrait",
},
{ {
id: "2", id: "2", name: "Brianna S.", handle: "Repeat Customer", testimonial: "I've used Shook Towing several times... he never fails to make a frustrating situation so much easier.", rating: 5,
name: "Brianna S.", imageSrc: "http://img.b2bpic.net/free-photo/confident-office-employers-thumbing-up-smiling-two-happy-professional-businesswomen-standing-together-posing-meeting-room-teamwork-business-cooperation-concept_74855-6924.jpg?_wi=1"},
handle: "Repeat Customer",
testimonial: "I've used Shook Towing several times... he never fails to make a frustrating situation so much easier.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/confident-office-employers-thumbing-up-smiling-two-happy-professional-businesswomen-standing-together-posing-meeting-room-teamwork-business-cooperation-concept_74855-6924.jpg?_wi=3",
imageAlt: "satisfied woman customer headshot portrait",
},
{ {
id: "3", id: "3", name: "Connie R.", handle: "Long-Term Trust", testimonial: "Very helpful, great attitude, very fast. Price was awesome. I would trust no one else to tow my vehicles.", rating: 5,
name: "Connie R.", imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=1"},
handle: "Long-Term Trust",
testimonial: "Very helpful, great attitude, very fast. Price was awesome. I would trust no one else to tow my vehicles.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=3",
imageAlt: "mature woman customer portrait smiling",
},
{ {
id: "4", id: "4", name: "Caleb M.", handle: "Parking Lot Fix", testimonial: "Richard basically diagnosed and fixed my car in the parking lot. Saved us time and money. Professional and patient.", rating: 5,
name: "Caleb M.", imageSrc: "http://img.b2bpic.net/free-photo/worker-gesturing-with-his-left-hand_1149-184.jpg?_wi=1"},
handle: "Parking Lot Fix",
testimonial: "Richard basically diagnosed and fixed my car in the parking lot. Saved us time and money. Professional and patient.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/worker-gesturing-with-his-left-hand_1149-184.jpg?_wi=3",
imageAlt: "satisfied man customer portrait headshot",
},
{ {
id: "5", id: "5", name: "Sarah J.", handle: "Excellent Service", testimonial: "Provided excellent service when we needed it most. Courteous, professional, and even gave us a ride to the dealership.", rating: 5,
name: "Sarah J.", imageSrc: "http://img.b2bpic.net/free-photo/mature-woman-smiling_1149-601.jpg?_wi=1"},
handle: "Excellent Service",
testimonial: "Provided excellent service when we needed it most. Courteous, professional, and even gave us a ride to the dealership.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/mature-woman-smiling_1149-601.jpg?_wi=3",
imageAlt: "professional woman customer portrait headshot",
},
{ {
id: "6", id: "6", name: "David K.", handle: "Reliable Professional", testimonial: "Professional, punctual, skilled, patient, and friendly. Best of all, his price was very reasonable.", rating: 5,
name: "David K.", imageSrc: "http://img.b2bpic.net/free-photo/people-recording-their-house-tour_23-2151139106.jpg?_wi=1"},
handle: "Reliable Professional",
testimonial: "Professional, punctual, skilled, patient, and friendly. Best of all, his price was very reasonable.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/people-recording-their-house-tour_23-2151139106.jpg?_wi=3",
imageAlt: "satisfied man customer headshot portrait",
},
]} ]}
showRating={true} showRating={true}
animationType="scale-rotate" animationType="scale-rotate"
@@ -167,15 +143,18 @@ const ReviewsPage = () => {
<div id="contact-cta" data-section="contact-cta"> <div id="contact-cta" data-section="contact-cta">
<ContactCTA <ContactCTA
tag="Ready to Experience the Difference?" tag="Ready to Join Our Happy Customers"
tagIcon={AlertCircle} tagIcon={AlertCircle}
title="Join Hundreds of Satisfied Customers" title="Experience the Difference"
description="When you need towing or roadside assistance, make Shook Towing your first call. Fast, fair, professional service every time." description="See why hundreds of Corpus Christi residents trust Shook Towing for their towing and roadside assistance needs."
buttons={[ buttons={[
{ text: "Call Now for Immediate Service", href: "tel:+15619999999" }, {
{ text: "Request a Callback", href: "/contact" }, text: "Call Now", href: "tel:+15619999999"},
{
text: "Schedule Service", href: "/contact"},
]} ]}
background={{ variant: "downward-rays-animated" }} background={{
variant: "downward-rays-animated"}}
useInvertedBackground={false} useInvertedBackground={false}
/> />
</div> </div>
@@ -189,6 +168,4 @@ const ReviewsPage = () => {
</div> </div>
</ThemeProvider> </ThemeProvider>
); );
}; }
export default ReviewsPage;

View File

@@ -0,0 +1,192 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroSplit from "@/components/sections/hero/HeroSplit";
import FeatureBento from "@/components/sections/feature/FeatureBento";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import { MapPin, Phone, AlertCircle, Clock } from "lucide-react";
export default function ServiceAreaPage() {
const navItems = [
{ name: "Home", id: "/" },
{ name: "Services", id: "/services" },
{ name: "About", id: "/about" },
{ name: "Reviews", id: "/reviews" },
{ name: "Service Area", id: "/service-area" },
{ name: "Contact", id: "/contact" },
];
const handleCallNow = () => {
window.location.href = "tel:+15619999999";
};
const footerColumns = [
{
title: "Services", items: [
{ label: "Towing Services", href: "/services" },
{ label: "Roadside Assistance", href: "/services" },
{ label: "Vehicle Transport", href: "/services" },
{ label: "Mechanical Help", href: "/services" },
],
},
{
title: "Company", items: [
{ label: "About Us", href: "/about" },
{ label: "Customer Reviews", href: "/reviews" },
{ label: "Service Area", href: "/service-area" },
{ label: "Contact Us", href: "/contact" },
],
},
{
title: "Get Help", items: [
{ label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
{ label: "Request a Quote", href: "/contact" },
{ label: "FAQ", href: "/#faq" },
{ label: "Service Hours", href: "/service-area" },
],
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Disclaimer", href: "#" },
],
},
];
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="smallMedium"
sizing="medium"
background="blurBottom"
cardStyle="gradient-bordered"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="glass"
headingFontWeight="light"
>
{/* Sticky Call Now Button */}
<button
onClick={handleCallNow}
className="fixed bottom-8 right-8 z-50 bg-gradient-to-r from-[var(--primary-cta)] to-[var(--accent)] hover:shadow-lg transform hover:scale-105 transition-all duration-300 text-white px-6 py-4 rounded-full flex items-center gap-2 font-semibold shadow-lg"
aria-label="Call now for immediate service"
>
<Phone size={20} />
<span>Call Now</span>
</button>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="Shook Towing"
navItems={navItems}
button={{
text: "Call Now", href: "tel:+15619999999"}}
/>
</div>
<div id="hero" data-section="hero">
<HeroSplit
title="Our Service Area"
description="Shook Towing proudly serves Corpus Christi and the surrounding areas with fast, professional towing and roadside assistance. Check if your location is in our service area."
tag="Serving Corpus Christi"
tagAnimation="slide-up"
buttons={[
{
text: "Call to Confirm", href: "tel:+15619999999"},
{
text: "Request Service", href: "/contact"},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/mechanic-giving-keys-car-customer_329181-11861.jpg"
imageAlt="Service area coverage map"
mediaAnimation="blur-reveal"
background={{
variant: "radial-gradient"}}
imagePosition="right"
/>
</div>
<div id="service-area" data-section="service-area">
<FeatureBento
title="Coverage Areas"
description="We serve Corpus Christi and surrounding communities with rapid response times and professional service."
features={[
{
title: "Corpus Christi", description: "Our primary service area with 20-30 minute average response times throughout the city.", bentoComponent: "icon-info-cards", items: [
{
icon: MapPin,
label: "Coverage", value: "Full City"},
{
icon: Clock,
label: "Response", value: "20-30 min"},
],
},
{
title: "Surrounding Areas", description: "We also serve nearby communities and highways throughout the region. Call to confirm your location.", bentoComponent: "icon-info-cards", items: [
{
icon: MapPin,
label: "Expanding", value: "Beyond City"},
{
icon: Phone,
label: "Just Call", value: "We'll Confirm"},
],
},
{
title: "24/7 Availability", description: "Rain or shine, day or night, we're here. Emergency service available around the clock every day.", bentoComponent: "icon-info-cards", items: [
{
icon: Clock,
label: "Hours", value: "24/7/365"},
{
icon: AlertCircle,
label: "Emergency", value: "Always Ready"},
],
},
{
title: "Not Sure?", description: "Not certain if we serve your area? Give us a call and we'll let you know immediately.", bentoComponent: "icon-info-cards", items: [
{
icon: Phone,
label: "Quick Check", value: "Call Now"},
{
icon: MapPin,
label: "Likely", value: "In Area"},
],
},
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
/>
</div>
<div id="contact-cta" data-section="contact-cta">
<ContactCTA
tag="In Our Service Area?"
tagIcon={AlertCircle}
title="Get Fast Help Right Now"
description="Whether you're in Corpus Christi or nearby, Shook Towing is ready to respond quickly to your emergency."
buttons={[
{
text: "Call Now", href: "tel:+15619999999"},
{
text: "Contact Us", href: "/contact"},
]}
background={{
variant: "downward-rays-animated"}}
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterSimple
columns={footerColumns}
bottomLeftText="© 2024 Shook Towing. All rights reserved."
bottomRightText="Fast. Fair. Professional."
/>
</div>
</ThemeProvider>
);
}

View File

@@ -1,37 +1,30 @@
"use client"; "use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import ProductCardOne from "@/components/sections/product/ProductCardOne"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import FeatureBento from "@/components/sections/feature/FeatureBento"; import FeatureBento from "@/components/sections/feature/FeatureBento";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import FooterSimple from "@/components/sections/footer/FooterSimple"; import FooterSimple from "@/components/sections/footer/FooterSimple";
import { import ContactCTA from "@/components/sections/contact/ContactCTA";
Zap, import { Zap, MapPin, Users, Heart, DollarSign, CheckCircle, Wrench, Lightbulb, AlertCircle, Phone } from "lucide-react";
MapPin,
Users,
Heart,
DollarSign,
CheckCircle,
Wrench,
Lightbulb,
AlertCircle,
} from "lucide-react";
export default function ServicesPage() { export default function ServicesPage() {
const navItems = [ const navItems = [
{ name: "Home", id: "home" }, { name: "Home", id: "/" },
{ name: "Services", id: "services" }, { name: "Services", id: "/services" },
{ name: "About", id: "about" }, { name: "About", id: "/about" },
{ name: "Reviews", id: "reviews" }, { name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "contact" }, { name: "Service Area", id: "/service-area" },
{ name: "Contact", id: "/contact" },
]; ];
const handleCallNow = () => {
window.location.href = "tel:+15619999999";
};
const footerColumns = [ const footerColumns = [
{ {
title: "Services", title: "Services", items: [
items: [
{ label: "Towing Services", href: "/services" }, { label: "Towing Services", href: "/services" },
{ label: "Roadside Assistance", href: "/services" }, { label: "Roadside Assistance", href: "/services" },
{ label: "Vehicle Transport", href: "/services" }, { label: "Vehicle Transport", href: "/services" },
@@ -39,26 +32,23 @@ export default function ServicesPage() {
], ],
}, },
{ {
title: "Company", title: "Company", items: [
items: [ { label: "About Us", href: "/about" },
{ label: "About Us", href: "/" }, { label: "Customer Reviews", href: "/reviews" },
{ label: "Customer Reviews", href: "/" }, { label: "Service Area", href: "/service-area" },
{ label: "Service Area", href: "/services" }, { label: "Contact Us", href: "/contact" },
{ label: "Contact Us", href: "#contact-cta" },
], ],
}, },
{ {
title: "Get Help", title: "Get Help", items: [
items: [ { label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
{ label: "Call Now", href: "tel:+15619999999" }, { label: "Request a Quote", href: "/contact" },
{ label: "Request a Quote", href: "#contact-cta" }, { label: "FAQ", href: "/#faq" },
{ label: "FAQ", href: "/" }, { label: "Service Hours", href: "/services" },
{ label: "Service Hours", href: "#" },
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "#" },
{ label: "Disclaimer", href: "#" }, { label: "Disclaimer", href: "#" },
@@ -79,112 +69,90 @@ export default function ServicesPage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="light" headingFontWeight="light"
> >
{/* Sticky Call Now Button */}
<button
onClick={handleCallNow}
className="fixed bottom-8 right-8 z-50 bg-gradient-to-r from-[var(--primary-cta)] to-[var(--accent)] hover:shadow-lg transform hover:scale-105 transition-all duration-300 text-white px-6 py-4 rounded-full flex items-center gap-2 font-semibold shadow-lg"
aria-label="Call now for immediate service"
>
<Phone size={20} />
<span>Call Now</span>
</button>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Shook Towing" brandName="Shook Towing"
navItems={navItems} navItems={navItems}
button={{ button={{
text: "Call Now", text: "Call Now", href: "tel:+15619999999"}}
href: "tel:+15619999999", />
}} </div>
<div id="hero" data-section="hero">
<HeroSplit
title="Our Comprehensive Towing & Roadside Services"
description="From emergency towing to quick mechanical fixes, Shook Towing has the expertise and equipment to handle any situation. Available 24/7 in Corpus Christi and surrounding areas."
tag="Professional Towing Services"
tagAnimation="slide-up"
buttons={[
{
text: "Call for Service", href: "tel:+15619999999"},
{
text: "Request a Quote", href: "/contact"},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/mechanic-giving-keys-car-customer_329181-11861.jpg"
imageAlt="professional towing services"
mediaAnimation="blur-reveal"
background={{
variant: "radial-gradient"}}
imagePosition="right"
/> />
</div> </div>
<div id="services" data-section="services"> <div id="services" data-section="services">
<ProductCardOne
title="Towing & Roadside Services You Can Rely On"
description="From breakdowns to lockouts, we've got you covered."
products={[
{
id: "towing",
name: "Towing Services",
price: "Competitive Rates",
imageSrc: "http://img.b2bpic.net/free-photo/woman-holding-spare-tire-man-talking-phone_23-2148270655.jpg",
imageAlt: "tow truck towing broken down car accident",
},
{
id: "roadside",
name: "Roadside Assistance",
price: "Fast Response",
imageSrc: "http://img.b2bpic.net/free-photo/emergency-auto-mechanic-changing-flat-tire-road_651396-3559.jpg",
imageAlt: "roadside assistance flat tire change",
},
{
id: "transport",
name: "Vehicle Transport",
price: "Safe & Secure",
imageSrc: "http://img.b2bpic.net/free-photo/truck-highway-heavy-vehicle-motion-road-logistics-scene_169016-68023.jpg",
imageAlt: "vehicle transport service flatbed carrier",
},
{
id: "mechanical",
name: "Light Mechanical Help",
price: "On-the-Spot Fixes",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-checking-car_23-2150171231.jpg",
imageAlt: "mechanic roadside diagnosis repair tools",
},
]}
gridVariant="four-items-2x2-equal-grid"
animationType="scale-rotate"
textboxLayout="default"
useInvertedBackground={false}
/>
</div>
<div id="why-us" data-section="why-us">
<FeatureBento <FeatureBento
title="Why Choose Shook Towing for Your Service Needs" title="Services We Provide"
description="Experience the difference professional, courteous towing makes when you need it most." description="Every service backed by professionalism, reliability, and genuine care for our customers."
features={[ features={[
{ {
title: "Fast Response Time", title: "Emergency Towing", description: "24/7 emergency response for accidents, breakdowns, and vehicle emergencies. We get to you fast.", bentoComponent: "icon-info-cards", items: [
description: "We prioritize getting to you quickly. Our average response is 20-30 minutes, depending on location.",
bentoComponent: "icon-info-cards",
items: [
{ {
icon: Zap, icon: Zap,
label: "Quick Service", label: "Response Time", value: "20-30 minutes"},
value: "20-30 min",
},
{ {
icon: MapPin, icon: AlertCircle,
label: "Wide Coverage", label: "Available", value: "24/7/365"},
value: "All of Corpus Christi",
},
], ],
}, },
{ {
title: "Professional Team", title: "Roadside Assistance", description: "Jump starts, lockouts, fuel delivery, and tire changes. Quick fixes to get you back on the road.", bentoComponent: "icon-info-cards", items: [
description: "Richard and his team bring years of experience and genuine care to every job.",
bentoComponent: "icon-info-cards",
items: [
{ {
icon: Users, icon: Wrench,
label: "Experienced Drivers", label: "Quick Fixes", value: "On Site"},
value: "Richard & Team",
},
{
icon: Heart,
label: "Personalized Care",
value: "Every Customer Matters",
},
],
},
{
title: "Transparent Pricing",
description: "No hidden fees, no surprises. Just honest, competitive rates for quality service.",
bentoComponent: "icon-info-cards",
items: [
{
icon: DollarSign,
label: "Fair Rates",
value: "Competitive Pricing",
},
{ {
icon: CheckCircle, icon: CheckCircle,
label: "No Hidden Fees", label: "Common Issues", value: "Expert Help"},
value: "Full Transparency", ],
}, },
{
title: "Vehicle Transport", description: "Safe, secure transportation for vehicles across Corpus Christi and surrounding areas. Insured and professional.", bentoComponent: "icon-info-cards", items: [
{
icon: MapPin,
label: "Coverage", value: "Full Area"},
{
icon: Heart,
label: "Care", value: "Fully Insured"},
],
},
{
title: "Mechanical Assistance", description: "Expert diagnosis and on-site repairs when possible. Richard's mechanical expertise saves you time and money.", bentoComponent: "icon-info-cards", items: [
{
icon: Lightbulb,
label: "Diagnosis", value: "Expert Advice"},
{
icon: DollarSign,
label: "Cost Savings", value: "When Possible"},
], ],
}, },
]} ]}
@@ -196,23 +164,18 @@ export default function ServicesPage() {
<div id="contact-cta" data-section="contact-cta"> <div id="contact-cta" data-section="contact-cta">
<ContactCTA <ContactCTA
tag="Ready to Experience Our Service?" tag="Ready to Help"
tagIcon={AlertCircle} tagIcon={AlertCircle}
title="Get Professional Towing When You Need It" title="Need Service Right Now?"
description="Available 24/7 for all your towing and roadside assistance needs. Call now to speak with our friendly team." description="Our team is standing by to help. Call us immediately for emergency service or to schedule roadside assistance."
buttons={[ buttons={[
{ {
text: "Call Now", text: "Call Now", href: "tel:+15619999999"},
href: "tel:+15619999999",
},
{ {
text: "Request a Quote", text: "Get a Quote", href: "/contact"},
href: "#contact-cta",
},
]} ]}
background={{ background={{
variant: "downward-rays-animated", variant: "downward-rays-animated"}}
}}
useInvertedBackground={false} useInvertedBackground={false}
/> />
</div> </div>

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-archivo), sans-serif; font-family: var(--font-lato), 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-archivo), sans-serif; font-family: var(--font-montserrat), sans-serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f5f5f5; --background: #F3F4F6;
--card: #ffffff; --card: #FFFFFF;
--foreground: #1c1c1c; --foreground: #33363F;
--primary-cta: #341f51; --primary-cta: #0B1F3B;
--primary-cta-text: #f5f5f5; --primary-cta-text: #f5f5f5;
--secondary-cta: #ffffff; --secondary-cta: #F5C542;
--secondary-cta-text: #1c1c1c; --secondary-cta-text: #1c1c1c;
--accent: #6139e6; --accent: #C0392B;
--background-accent: #b3a8e8; --background-accent: #F5C542;
/* 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);