Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bf4eadfce | |||
| 60d53921a2 | |||
| 7aaebaf008 | |||
| 794f8a5954 | |||
| 2239ee14ac | |||
| b14fc72eaa | |||
| d2ebc925be | |||
| 21ac32cb91 | |||
| 426a105dc6 | |||
| 6e5feced49 | |||
| f396bdb020 | |||
| e5d6725d28 | |||
| a9433fa9d7 | |||
| 3e24e7f225 | |||
| 7fcb8ef875 | |||
| 1e940c4a32 |
@@ -1,27 +1,30 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
|
||||
import HeroSplit from "@/components/sections/hero/HeroSplit";
|
||||
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 { 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 = [
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ 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: [
|
||||
title: "Services", items: [
|
||||
{ label: "Towing Services", href: "/services" },
|
||||
{ label: "Roadside Assistance", href: "/services" },
|
||||
{ label: "Vehicle Transport", href: "/services" },
|
||||
@@ -29,26 +32,23 @@ const AboutPage = () => {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Customer Reviews", href: "/reviews" },
|
||||
{ label: "Service Area", href: "/services" },
|
||||
{ label: "Service Area", href: "/service-area" },
|
||||
{ label: "Contact Us", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Get Help",
|
||||
items: [
|
||||
{ label: "Call Now", href: "tel:+15619999999" },
|
||||
title: "Get Help", items: [
|
||||
{ label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
|
||||
{ label: "Request a Quote", href: "/contact" },
|
||||
{ label: "FAQ", href: "/" },
|
||||
{ label: "Service Hours", href: "#" },
|
||||
{ label: "FAQ", href: "/#faq" },
|
||||
{ label: "Service Hours", href: "/services" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Disclaimer", href: "#" },
|
||||
@@ -69,11 +69,44 @@ const AboutPage = () => {
|
||||
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" }}
|
||||
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>
|
||||
|
||||
@@ -82,128 +115,35 @@ const AboutPage = () => {
|
||||
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."
|
||||
metrics={[
|
||||
{ value: "100%", title: "Customer Satisfaction" },
|
||||
{ value: "20-30 min", title: "Average Response Time" },
|
||||
{ value: "24/7", title: "Emergency Service" },
|
||||
{
|
||||
value: "100%", title: "Customer Satisfaction"},
|
||||
{
|
||||
value: "20-30 min", title: "Average Response Time"},
|
||||
{
|
||||
value: "24/7", title: "Emergency Service"},
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/plumber-doing-victory-gesture_1368-6312.jpg?_wi=2"
|
||||
imageAlt="professional towing owner with tow truck portrait"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/worker-office-receiving-feedback-from-management-executive_482257-126629.jpg?_wi=1"
|
||||
imageAlt="Shook Towing customer service team"
|
||||
mediaAnimation="blur-reveal"
|
||||
metricsAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<FeatureBento
|
||||
title="Why Choose Shook Towing"
|
||||
description="Our commitment to excellence in every interaction sets us apart in the industry."
|
||||
features={[
|
||||
<div id="contact-cta" data-section="contact-cta">
|
||||
<ContactCTA
|
||||
tag="Ready to Experience the Difference"
|
||||
tagIcon={AlertCircle}
|
||||
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",
|
||||
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" },
|
||||
],
|
||||
},
|
||||
text: "Call Now", href: "tel:+15619999999"},
|
||||
{
|
||||
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: [
|
||||
{ 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" },
|
||||
],
|
||||
},
|
||||
text: "Request Service", href: "/contact"},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
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"
|
||||
background={{
|
||||
variant: "downward-rays-animated"}}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
@@ -217,6 +157,4 @@ const AboutPage = () => {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export default AboutPage;
|
||||
}
|
||||
@@ -1,25 +1,25 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
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 FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import Link from "next/link";
|
||||
import { AlertCircle } from "lucide-react";
|
||||
import { Phone, Clock, AlertCircle } from "lucide-react";
|
||||
|
||||
export default function ContactPage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Services", id: "/services" },
|
||||
{ name: "Reviews", id: "/reviews" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
];
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Services",
|
||||
items: [
|
||||
title: "Services", items: [
|
||||
{ label: "Towing Services", href: "/services" },
|
||||
{ label: "Roadside Assistance", href: "/services" },
|
||||
{ label: "Vehicle Transport", href: "/services" },
|
||||
@@ -27,26 +27,23 @@ export default function ContactPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#about" },
|
||||
{ label: "Customer Reviews", href: "/reviews" },
|
||||
{ label: "Service Area", href: "/services" },
|
||||
{ label: "Contact Us", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Get Help",
|
||||
items: [
|
||||
title: "Get Help", items: [
|
||||
{ label: "Call Now", href: "tel:+15619999999" },
|
||||
{ label: "Request a Quote", href: "/contact" },
|
||||
{ label: "FAQ", href: "/" },
|
||||
{ label: "FAQ", href: "/#faq" },
|
||||
{ label: "Service Hours", href: "#" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Disclaimer", href: "#" },
|
||||
@@ -72,104 +69,97 @@ export default function ContactPage() {
|
||||
brandName="Shook Towing"
|
||||
navItems={navItems}
|
||||
button={{
|
||||
text: "Call Now",
|
||||
href: "tel:+15619999999",
|
||||
}}
|
||||
text: "Call Now", href: "tel:+15619999999"}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact-cta" data-section="contact-cta">
|
||||
<ContactCTA
|
||||
tag="Need Help Right Now?"
|
||||
tagIcon={AlertCircle}
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroSplit
|
||||
title="Get in Touch with Shook Towing"
|
||||
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"
|
||||
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={[
|
||||
{
|
||||
text: "Call Now for Immediate Service",
|
||||
href: "tel:+15619999999",
|
||||
},
|
||||
text: "Call Now for Immediate Service", href: "tel:+15619999999"},
|
||||
{
|
||||
text: "Request a Callback",
|
||||
href: "#contact-form",
|
||||
},
|
||||
text: "Fill Out Form Below", href: "#contact-form"},
|
||||
]}
|
||||
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={{
|
||||
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}
|
||||
/>
|
||||
</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 className="bg-white rounded-3xl p-8 md:p-12 border border-gray-200 shadow-sm">
|
||||
<h2 className="text-3xl md:text-4xl font-light text-gray-900 mb-2">
|
||||
Get in Touch
|
||||
</h2>
|
||||
<p className="text-gray-600 mb-8">
|
||||
Have questions? We're here to help. Contact us using any of the methods below.
|
||||
</p>
|
||||
<div id="contact-form" data-section="contact-form">
|
||||
<ContactSplitForm
|
||||
title="Request a Quote or Schedule Service"
|
||||
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."
|
||||
inputs={[
|
||||
{
|
||||
name: "name", type: "text", placeholder: "Your Name", required: true,
|
||||
},
|
||||
{
|
||||
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>
|
||||
<h3 className="text-lg font-semibold text-gray-900 mb-2">
|
||||
Call Us Anytime
|
||||
</h3>
|
||||
<a
|
||||
href="tel:+15619999999"
|
||||
className="text-2xl font-light text-indigo-600 hover:text-indigo-700 transition-colors"
|
||||
>
|
||||
(561) 999-9999
|
||||
</a>
|
||||
<p className="text-sm text-gray-600 mt-1">Available 24/7 for emergencies</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-gray-900 mb-2">
|
||||
Service Area
|
||||
</h3>
|
||||
<p className="text-gray-600">
|
||||
Corpus Christi and surrounding areas in Texas
|
||||
</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 id="reassurance" data-section="reassurance">
|
||||
<div className="py-16 px-4">
|
||||
<div className="max-w-3xl mx-auto text-center">
|
||||
<h2 className="text-3xl font-bold mb-6">Why You Can Trust Us</h2>
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
<div className="p-6">
|
||||
<Phone className="w-12 h-12 mx-auto mb-4" />
|
||||
<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>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<AlertCircle className="w-12 h-12 mx-auto mb-4" />
|
||||
<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 className="p-6">
|
||||
<Clock className="w-12 h-12 mx-auto mb-4" />
|
||||
<h3 className="font-semibold mb-2">Fair Pricing</h3>
|
||||
<p className="text-sm opacity-75">Transparent, competitive rates with no surprise fees. We believe in treating people right, not taking advantage.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,54 +1,32 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import { Archivo } from "next/font/google";
|
||||
import { Montserrat } from "next/font/google";
|
||||
import { Lato } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant",
|
||||
subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
const montserrat = Montserrat({
|
||||
variable: "--font-montserrat", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
const archivo = Archivo({
|
||||
variable: "--font-archivo",
|
||||
subsets: ["latin"],
|
||||
const lato = Lato({
|
||||
variable: "--font-lato", subsets: ["latin"],
|
||||
weight: ["100", "300", "400", "700", "900"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
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"),
|
||||
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"),
|
||||
alternates: {
|
||||
canonical: "https://shooktowing.com",
|
||||
},
|
||||
canonical: "https://shooktowing.com"},
|
||||
openGraph: {
|
||||
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: [
|
||||
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: [
|
||||
{
|
||||
url: "https://shooktowing.com/og-image.jpg",
|
||||
alt: "Shook Towing professional tow truck and team",
|
||||
},
|
||||
url: "https://shooktowing.com/og-image.jpg", alt: "Shook Towing professional tow truck and team"},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
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"],
|
||||
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"],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
@@ -65,7 +43,7 @@ export default function RootLayout({
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${archivo.variable} antialiased`}
|
||||
className={`${montserrat.variable} ${lato.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
@@ -78,4 +56,4 @@ export default function RootLayout({
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
242
src/app/page.tsx
242
src/app/page.tsx
@@ -6,7 +6,6 @@ import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatin
|
||||
import HeroSplit from "@/components/sections/hero/HeroSplit";
|
||||
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
|
||||
import FeatureBento from "@/components/sections/feature/FeatureBento";
|
||||
import ProductCardOne from "@/components/sections/product/ProductCardOne";
|
||||
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
|
||||
import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout";
|
||||
import FaqSplitMedia from "@/components/sections/faq/FaqSplitMedia";
|
||||
@@ -23,21 +22,26 @@ import {
|
||||
Wrench,
|
||||
Lightbulb,
|
||||
AlertCircle,
|
||||
Phone,
|
||||
} from "lucide-react";
|
||||
|
||||
export default function HomePage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ 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: [
|
||||
title: "Services", items: [
|
||||
{ label: "Towing Services", href: "/services" },
|
||||
{ label: "Roadside Assistance", href: "/services" },
|
||||
{ label: "Vehicle Transport", href: "/services" },
|
||||
@@ -45,26 +49,23 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
{ label: "About Us", href: "#about" },
|
||||
{ label: "Customer Reviews", href: "#testimonials" },
|
||||
{ label: "Service Area", href: "/services" },
|
||||
{ label: "Contact Us", href: "#contact-cta" },
|
||||
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" },
|
||||
{ label: "Request a Quote", href: "#contact-cta" },
|
||||
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: "#" },
|
||||
{ label: "Service Hours", href: "/services" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Disclaimer", href: "#" },
|
||||
@@ -85,14 +86,22 @@ export default function HomePage() {
|
||||
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",
|
||||
}}
|
||||
text: "Call Now", href: "tel:+15619999999"}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -105,21 +114,16 @@ export default function HomePage() {
|
||||
tagAnimation="slide-up"
|
||||
buttons={[
|
||||
{
|
||||
text: "Call Now for Immediate Service",
|
||||
href: "tel:+15619999999",
|
||||
},
|
||||
text: "Call Now for Immediate Service", href: "tel:+15619999999"},
|
||||
{
|
||||
text: "Request a Quote",
|
||||
href: "#contact-cta",
|
||||
},
|
||||
text: "Request a Quote", href: "/contact"},
|
||||
]}
|
||||
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"
|
||||
mediaAnimation="blur-reveal"
|
||||
background={{
|
||||
variant: "radial-gradient",
|
||||
}}
|
||||
variant: "radial-gradient"}}
|
||||
imagePosition="right"
|
||||
/>
|
||||
</div>
|
||||
@@ -129,15 +133,7 @@ export default function HomePage() {
|
||||
title="Hundreds of Happy Customers Across Corpus Christi"
|
||||
description="Real people, real results. Here's what our customers say when it matters most."
|
||||
names={[
|
||||
"Melissa P.",
|
||||
"Brianna S.",
|
||||
"Connie R.",
|
||||
"Caleb M.",
|
||||
"Sarah J.",
|
||||
"David K.",
|
||||
"Emily R.",
|
||||
"James T.",
|
||||
]}
|
||||
"Melissa P.", "Brianna S.", "Connie R.", "Caleb M.", "Sarah J.", "David K.", "Emily R.", "James T."]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
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."
|
||||
features={[
|
||||
{
|
||||
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: [
|
||||
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: [
|
||||
{
|
||||
icon: Zap,
|
||||
label: "Average Time",
|
||||
value: "20-30 min",
|
||||
},
|
||||
label: "Average Time", value: "20-30 min"},
|
||||
{
|
||||
icon: MapPin,
|
||||
label: "Service Area",
|
||||
value: "Corpus Christi",
|
||||
},
|
||||
label: "Service Area", value: "Corpus Christi"},
|
||||
],
|
||||
},
|
||||
{
|
||||
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: [
|
||||
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: [
|
||||
{
|
||||
icon: Users,
|
||||
label: "Skilled Drivers",
|
||||
value: "Richard & Team",
|
||||
},
|
||||
label: "Skilled Drivers", value: "Richard & Team"},
|
||||
{
|
||||
icon: Heart,
|
||||
label: "Customer Care",
|
||||
value: "Always Priority",
|
||||
},
|
||||
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: [
|
||||
title: "Fair, Honest Pricing", description: "Reasonable, transparent rates—no surprise fees. We believe in treating people right.", bentoComponent: "icon-info-cards", items: [
|
||||
{
|
||||
icon: DollarSign,
|
||||
label: "Price Guarantee",
|
||||
value: "Competitive Rates",
|
||||
},
|
||||
label: "Price Guarantee", value: "Competitive Rates"},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
label: "Transparency",
|
||||
value: "No Hidden Fees",
|
||||
},
|
||||
label: "Transparency", value: "No Hidden Fees"},
|
||||
],
|
||||
},
|
||||
{
|
||||
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: [
|
||||
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",
|
||||
},
|
||||
label: "Quick Fixes", value: "When Possible"},
|
||||
{
|
||||
icon: Lightbulb,
|
||||
label: "Diagnosis",
|
||||
value: "Expert Advice",
|
||||
},
|
||||
label: "Diagnosis", value: "Expert Advice"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
@@ -231,53 +199,23 @@ export default function HomePage() {
|
||||
description="Here's what our customers say about their experience 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=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,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=1"},
|
||||
{
|
||||
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=1",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=1",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=1",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=1",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=1",
|
||||
},
|
||||
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=1"},
|
||||
]}
|
||||
showRating={true}
|
||||
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."
|
||||
metrics={[
|
||||
{
|
||||
value: "100%",
|
||||
title: "Customer Satisfaction",
|
||||
},
|
||||
value: "100%", title: "Customer Satisfaction"},
|
||||
{
|
||||
value: "20-30 min",
|
||||
title: "Average Response Time",
|
||||
},
|
||||
value: "20-30 min", title: "Average Response Time"},
|
||||
{
|
||||
value: "24/7",
|
||||
title: "Emergency Service",
|
||||
},
|
||||
value: "24/7", title: "Emergency Service"},
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/plumber-doing-victory-gesture_1368-6312.jpg?_wi=1"
|
||||
imageAlt="professional towing owner with tow truck portrait"
|
||||
mediaAnimation="blur-reveal"
|
||||
metricsAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -317,41 +250,19 @@ export default function HomePage() {
|
||||
description="Got questions? We've got answers. Here's what people usually want to know."
|
||||
faqs={[
|
||||
{
|
||||
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.",
|
||||
},
|
||||
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."},
|
||||
{
|
||||
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.",
|
||||
},
|
||||
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."},
|
||||
{
|
||||
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.",
|
||||
},
|
||||
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."},
|
||||
{
|
||||
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.",
|
||||
},
|
||||
{
|
||||
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.",
|
||||
},
|
||||
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."},
|
||||
]}
|
||||
faqsAnimation="slide-up"
|
||||
mediaAnimation="blur-reveal"
|
||||
textboxLayout="default"
|
||||
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"
|
||||
/>
|
||||
</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."
|
||||
buttons={[
|
||||
{
|
||||
text: "Call Now for Immediate Service",
|
||||
href: "tel:+15619999999",
|
||||
},
|
||||
text: "Call Now for Immediate Service", href: "tel:+15619999999"},
|
||||
{
|
||||
text: "Request a Callback",
|
||||
href: "#contact-cta",
|
||||
},
|
||||
text: "Request a Callback", href: "/contact"},
|
||||
]}
|
||||
background={{
|
||||
variant: "downward-rays-animated",
|
||||
}}
|
||||
variant: "downward-rays-animated"}}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
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 ContactCTA from "@/components/sections/contact/ContactCTA";
|
||||
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 = [
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ 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: [
|
||||
title: "Services", items: [
|
||||
{ label: "Towing Services", href: "/services" },
|
||||
{ label: "Roadside Assistance", href: "/services" },
|
||||
{ label: "Vehicle Transport", href: "/services" },
|
||||
@@ -29,26 +32,23 @@ const ReviewsPage = () => {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Customer Reviews", href: "/reviews" },
|
||||
{ label: "Service Area", href: "/services" },
|
||||
{ label: "Service Area", href: "/service-area" },
|
||||
{ label: "Contact Us", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Get Help",
|
||||
items: [
|
||||
{ label: "Call Now", href: "tel:+15619999999" },
|
||||
title: "Get Help", items: [
|
||||
{ label: "Call Now", href: "tel:+15619999999", onClick: handleCallNow },
|
||||
{ label: "Request a Quote", href: "/contact" },
|
||||
{ label: "FAQ", href: "/" },
|
||||
{ label: "Service Hours", href: "#" },
|
||||
{ label: "FAQ", href: "/#faq" },
|
||||
{ label: "Service Hours", href: "/services" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Disclaimer", href: "#" },
|
||||
@@ -69,32 +69,44 @@ const ReviewsPage = () => {
|
||||
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" }}
|
||||
button={{
|
||||
text: "Call Now", href: "tel:+15619999999"}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SocialProofOne
|
||||
title="Hundreds of Happy Customers Across Corpus Christi"
|
||||
description="Real people, real results. Here's what our customers say when it matters most."
|
||||
names={[
|
||||
"Melissa P.",
|
||||
"Brianna S.",
|
||||
"Connie R.",
|
||||
"Caleb M.",
|
||||
"Sarah J.",
|
||||
"David K.",
|
||||
"Emily R.",
|
||||
"James T.",
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroSplit
|
||||
title="Customer Reviews & Testimonials"
|
||||
description="Read real stories from real people who have experienced Shook Towing's professional, friendly, and reliable service."
|
||||
tag="5-Star Service"
|
||||
tagAnimation="slide-up"
|
||||
buttons={[
|
||||
{
|
||||
text: "Call for Service", href: "tel:+15619999999"},
|
||||
{
|
||||
text: "See Our Services", href: "/services"},
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
speed={40}
|
||||
showCard={true}
|
||||
buttonAnimation="slide-up"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/smiling-senior-businessman-pointing-with-finger_1262-3108.jpg?_wi=1"
|
||||
imageAlt="Happy customer testimonial"
|
||||
mediaAnimation="blur-reveal"
|
||||
background={{
|
||||
variant: "radial-gradient"}}
|
||||
imagePosition="right"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -104,59 +116,23 @@ const ReviewsPage = () => {
|
||||
description="Here's what our customers say about their experience 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=3",
|
||||
imageAlt: "satisfied customer woman smiling portrait",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=3",
|
||||
imageAlt: "satisfied woman customer headshot 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=1"},
|
||||
{
|
||||
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=3",
|
||||
imageAlt: "mature woman customer portrait smiling",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=3",
|
||||
imageAlt: "satisfied man customer portrait headshot",
|
||||
},
|
||||
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=1"},
|
||||
{
|
||||
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=3",
|
||||
imageAlt: "professional woman 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=1"},
|
||||
{
|
||||
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=3",
|
||||
imageAlt: "satisfied man customer headshot portrait",
|
||||
},
|
||||
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=1"},
|
||||
]}
|
||||
showRating={true}
|
||||
animationType="scale-rotate"
|
||||
@@ -167,15 +143,18 @@ const ReviewsPage = () => {
|
||||
|
||||
<div id="contact-cta" data-section="contact-cta">
|
||||
<ContactCTA
|
||||
tag="Ready to Experience the Difference?"
|
||||
tag="Ready to Join Our Happy Customers"
|
||||
tagIcon={AlertCircle}
|
||||
title="Join Hundreds of Satisfied Customers"
|
||||
description="When you need towing or roadside assistance, make Shook Towing your first call. Fast, fair, professional service every time."
|
||||
title="Experience the Difference"
|
||||
description="See why hundreds of Corpus Christi residents trust Shook Towing for their towing and roadside assistance needs."
|
||||
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}
|
||||
/>
|
||||
</div>
|
||||
@@ -189,6 +168,4 @@ const ReviewsPage = () => {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
};
|
||||
|
||||
export default ReviewsPage;
|
||||
}
|
||||
192
src/app/service-area/page.tsx
Normal file
192
src/app/service-area/page.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
@@ -1,37 +1,30 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
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 ContactCTA from "@/components/sections/contact/ContactCTA";
|
||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import {
|
||||
Zap,
|
||||
MapPin,
|
||||
Users,
|
||||
Heart,
|
||||
DollarSign,
|
||||
CheckCircle,
|
||||
Wrench,
|
||||
Lightbulb,
|
||||
AlertCircle,
|
||||
} from "lucide-react";
|
||||
import ContactCTA from "@/components/sections/contact/ContactCTA";
|
||||
import { Zap, MapPin, Users, Heart, DollarSign, CheckCircle, Wrench, Lightbulb, AlertCircle, Phone } from "lucide-react";
|
||||
|
||||
export default function ServicesPage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ 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: [
|
||||
title: "Services", items: [
|
||||
{ label: "Towing Services", href: "/services" },
|
||||
{ label: "Roadside Assistance", href: "/services" },
|
||||
{ label: "Vehicle Transport", href: "/services" },
|
||||
@@ -39,26 +32,23 @@ export default function ServicesPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
{ label: "About Us", href: "/" },
|
||||
{ label: "Customer Reviews", href: "/" },
|
||||
{ label: "Service Area", href: "/services" },
|
||||
{ label: "Contact Us", href: "#contact-cta" },
|
||||
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" },
|
||||
{ label: "Request a Quote", href: "#contact-cta" },
|
||||
{ label: "FAQ", href: "/" },
|
||||
{ label: "Service Hours", href: "#" },
|
||||
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: "/services" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Disclaimer", href: "#" },
|
||||
@@ -79,112 +69,90 @@ export default function ServicesPage() {
|
||||
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",
|
||||
}}
|
||||
text: "Call Now", 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 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
|
||||
title="Why Choose Shook Towing for Your Service Needs"
|
||||
description="Experience the difference professional, courteous towing makes when you need it most."
|
||||
title="Services We Provide"
|
||||
description="Every service backed by professionalism, reliability, and genuine care for our customers."
|
||||
features={[
|
||||
{
|
||||
title: "Fast Response Time",
|
||||
description: "We prioritize getting to you quickly. Our average response is 20-30 minutes, depending on location.",
|
||||
bentoComponent: "icon-info-cards",
|
||||
items: [
|
||||
title: "Emergency Towing", description: "24/7 emergency response for accidents, breakdowns, and vehicle emergencies. We get to you fast.", bentoComponent: "icon-info-cards", items: [
|
||||
{
|
||||
icon: Zap,
|
||||
label: "Quick Service",
|
||||
value: "20-30 min",
|
||||
},
|
||||
label: "Response Time", value: "20-30 minutes"},
|
||||
{
|
||||
icon: MapPin,
|
||||
label: "Wide Coverage",
|
||||
value: "All of Corpus Christi",
|
||||
},
|
||||
icon: AlertCircle,
|
||||
label: "Available", value: "24/7/365"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Professional Team",
|
||||
description: "Richard and his team bring years of experience and genuine care to every job.",
|
||||
bentoComponent: "icon-info-cards",
|
||||
items: [
|
||||
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: [
|
||||
{
|
||||
icon: Users,
|
||||
label: "Experienced Drivers",
|
||||
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: Wrench,
|
||||
label: "Quick Fixes", value: "On Site"},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
label: "No Hidden Fees",
|
||||
value: "Full Transparency",
|
||||
},
|
||||
label: "Common Issues", value: "Expert Help"},
|
||||
],
|
||||
},
|
||||
{
|
||||
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">
|
||||
<ContactCTA
|
||||
tag="Ready to Experience Our Service?"
|
||||
tag="Ready to Help"
|
||||
tagIcon={AlertCircle}
|
||||
title="Get Professional Towing When You Need It"
|
||||
description="Available 24/7 for all your towing and roadside assistance needs. Call now to speak with our friendly team."
|
||||
title="Need Service Right Now?"
|
||||
description="Our team is standing by to help. Call us immediately for emergency service or to schedule roadside assistance."
|
||||
buttons={[
|
||||
{
|
||||
text: "Call Now",
|
||||
href: "tel:+15619999999",
|
||||
},
|
||||
text: "Call Now", href: "tel:+15619999999"},
|
||||
{
|
||||
text: "Request a Quote",
|
||||
href: "#contact-cta",
|
||||
},
|
||||
text: "Get a Quote", href: "/contact"},
|
||||
]}
|
||||
background={{
|
||||
variant: "downward-rays-animated",
|
||||
}}
|
||||
variant: "downward-rays-animated"}}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-archivo), sans-serif;
|
||||
font-family: var(--font-lato), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-archivo), sans-serif;
|
||||
font-family: var(--font-montserrat), sans-serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f5f5f5;
|
||||
--card: #ffffff;
|
||||
--foreground: #1c1c1c;
|
||||
--primary-cta: #341f51;
|
||||
--background: #F3F4F6;
|
||||
--card: #FFFFFF;
|
||||
--foreground: #33363F;
|
||||
--primary-cta: #0B1F3B;
|
||||
--primary-cta-text: #f5f5f5;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta: #F5C542;
|
||||
--secondary-cta-text: #1c1c1c;
|
||||
--accent: #6139e6;
|
||||
--background-accent: #b3a8e8;
|
||||
--accent: #C0392B;
|
||||
--background-accent: #F5C542;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user