10 Commits

Author SHA1 Message Date
70776f6820 Merge version_3 into main
Merge version_3 into main
2026-03-03 13:31:30 +00:00
ee3ab0b32b Update src/app/styles/variables.css 2026-03-03 13:31:26 +00:00
7166c45435 Update src/app/page.tsx 2026-03-03 13:31:26 +00:00
aa0a84ef6b Update src/app/layout.tsx 2026-03-03 13:31:25 +00:00
c238ec5360 Merge version_2 into main
Merge version_2 into main
2026-03-03 12:03:01 +00:00
9588b7524f Update src/app/page.tsx 2026-03-03 12:02:55 +00:00
f0602db343 Merge version_1 into main
Merge version_1 into main
2026-03-03 11:21:25 +00:00
aa5e859746 Merge version_1 into main
Merge version_1 into main
2026-03-03 11:18:07 +00:00
b0eb91fb16 Merge version_1 into main
Merge version_1 into main
2026-03-03 11:14:41 +00:00
cee7d299cf Merge version_1 into main
Merge version_1 into main
2026-03-03 11:11:59 +00:00
3 changed files with 140 additions and 54 deletions

View File

@@ -1,13 +1,12 @@
import type { Metadata } from "next";
import { Libre_Baskerville } from "next/font/google";
import { Inter } from "next/font/google";
import { Public_Sans } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville", subsets: ["latin"],
weight: ["400", "700"],
const publicSans = Public_Sans({
variable: "--font-public-sans", subsets: ["latin"],
});
const inter = Inter({
@@ -15,14 +14,14 @@ const inter = Inter({
});
export const metadata: Metadata = {
title: "Power Quad | Motorcycle & Quad Repair Warszawice", description: "Professional motorcycle and quad repair service in Warszawice. Expert mechanics, 4.8★ rating, emergency support, tire replacement. Call 793 731 138.", keywords: "motorcycle repair Warszawice, quad service, ATV repair, tire replacement, emergency motorcycle help", robots: {
title: "Power Quad | Motorcycle & Quad Repair Warszawice", description: "Professional motorcycle and quad repair service in Warszawice. Expert mechanics, 4.8★ rating, emergency support, tire replacement. Call 793 731 138. Open 7 days a week. DW805 60, 08-443 Warszawice.", keywords: "motorcycle repair Warszawice, quad service, ATV repair, tire replacement, emergency motorcycle help, local mechanic Poland", robots: {
index: true,
follow: true,
},
openGraph: {
title: "Power Quad | Expert Motorcycle & Quad Service", description: "Reliable motorcycle and quad repairs in Warszawice. Trusted by local riders. 4.8★ rating. Call now: 793 731 138", url: "https://powerquad.local", siteName: "Power Quad", type: "website"},
title: "Power Quad | Expert Motorcycle & Quad Service", description: "Reliable motorcycle and quad repairs in Warszawice. Trusted by local riders. 4.8★ rating (14 reviews). Call now: 793 731 138", url: "https://powerquad.local", siteName: "Power Quad", type: "website"},
twitter: {
card: "summary_large_image", title: "Power Quad | Motorcycle & Quad Repair", description: "Expert service in Warszawice. 4.8★ rating. Emergency support available. 793 731 138"},
card: "summary_large_image", title: "Power Quad | Motorcycle & Quad Repair", description: "Expert service in Warszawice. 4.8★ rating (14 reviews). Emergency support available. 793 731 138"},
};
export default function RootLayout({
@@ -34,7 +33,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${libreBaskerville.variable} ${inter.variable} antialiased`}
className={`${publicSans.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}

View File

@@ -9,23 +9,56 @@ import TestimonialCardFive from "@/components/sections/testimonial/TestimonialCa
import MetricCardEleven from "@/components/sections/metrics/MetricCardEleven";
import ContactFaq from "@/components/sections/contact/ContactFaq";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Zap, Wrench, Phone } from "lucide-react";
import { Zap, Wrench, Phone, MapPin, Clock, Star } from "lucide-react";
export default function LandingPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="compact"
sizing="largeSmall"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="glass"
headingFontWeight="extrabold"
defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="mediumLarge"
background="none"
cardStyle="solid"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="solid"
headingFontWeight="bold"
>
<div id="nav" data-section="nav">
{/* Sticky Header with Phone Number */}
<div className="fixed top-0 left-0 right-0 z-50 bg-white shadow-md">
<div className="flex justify-between items-center px-4 py-3 md:px-6">
<div className="text-sm md:text-base font-semibold text-gray-900">
Power Quad - Motorcycle & Quad Repair
</div>
<a
href="tel:+48793731138"
className="text-lg md:text-xl font-bold text-blue-600 hover:text-blue-700"
>
793 731 138
</a>
</div>
</div>
{/* Mobile Bottom Sticky Bar */}
<div className="fixed bottom-0 left-0 right-0 z-40 bg-white border-t border-gray-200 md:hidden flex gap-2 p-2">
<a
href="tel:+48793731138"
className="flex-1 bg-blue-600 text-white py-3 rounded-lg font-bold text-center hover:bg-blue-700"
>
Call Now
</a>
<a
href="https://maps.google.com/?q=DW805+60+08-443+Warszawice"
target="_blank"
rel="noopener noreferrer"
className="flex-1 bg-gray-900 text-white py-3 rounded-lg font-bold text-center hover:bg-gray-800"
>
Directions
</a>
</div>
<div id="nav" data-section="nav" className="pt-16">
<NavbarLayoutFloatingOverlay
brandName="Power Quad"
navItems={[
@@ -35,20 +68,20 @@ export default function LandingPage() {
{ name: "Location", id: "location" },
{ name: "Contact", id: "contact" },
]}
button={{ text: "Call Now", href: "tel:+48793731138" }}
button={{ text: "Call Now: 793 731 138", href: "tel:+48793731138" }}
/>
</div>
<div id="hero" data-section="hero">
<div id="hero" data-section="hero" className="pb-12 md:pb-20">
<HeroBillboardRotatedCarousel
title="Professional Motorcycle & Quad Service in Warszawice"
description="Reliable repairs, tire replacement, and emergency support. Trusted by local riders with 4.8★ rating (14 reviews). Open 7 days - Call now for fast service."
tag="Expert Mechanics"
tagIcon={Zap}
description="Expert repairs, tire replacement & emergency support. 4.8★ rating (14 reviews). Open 7 days a week. Call now for fast, reliable service."
tag="4.8★ Rating | 14 Reviews | 7 Days/Week"
tagIcon={Star}
tagAnimation="slide-up"
buttons={[
{ text: "Call Now: 793 731 138", href: "tel:+48793731138" },
{ text: "Get a Quote" },
{ text: "Schedule Service", href: "#contact" },
]}
buttonAnimation="slide-up"
carouselItems={[
@@ -71,7 +104,31 @@ export default function LandingPage() {
/>
</div>
<div id="services" data-section="services">
{/* Trust & Credibility Banner */}
<div className="bg-gray-50 py-8 md:py-12 mb-8 md:mb-16">
<div className="max-w-6xl mx-auto px-4 md:px-6">
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 text-center">
<div>
<div className="text-3xl md:text-4xl font-bold text-blue-600">4.8</div>
<div className="text-sm text-gray-600 mt-1">Rating</div>
</div>
<div>
<div className="text-3xl md:text-4xl font-bold text-gray-900">14</div>
<div className="text-sm text-gray-600 mt-1">Reviews</div>
</div>
<div>
<div className="text-3xl md:text-4xl font-bold text-gray-900">7</div>
<div className="text-sm text-gray-600 mt-1">Days/Week</div>
</div>
<div>
<div className="text-3xl md:text-4xl font-bold text-gray-900">2hrs</div>
<div className="text-sm text-gray-600 mt-1">Avg Turnaround</div>
</div>
</div>
</div>
</div>
<div id="services" data-section="services" className="mb-8 md:mb-16">
<FeatureCardTwentyOne
title="Our Services"
description="Complete motorcycle and quad service solutions tailored to your needs. From routine maintenance to emergency repairs, we handle it all with precision and care."
@@ -95,22 +152,22 @@ export default function LandingPage() {
mediaAnimation="slide-up"
useInvertedBackground={true}
mediaPosition="right"
buttons={[{ text: "Schedule Service" }]}
buttons={[{ text: "Schedule Service", href: "#contact" }]}
/>
</div>
<div id="why-choose" data-section="why-choose">
<div id="why-choose" data-section="why-choose" className="mb-8 md:mb-16">
<TextSplitAbout
title="Why Choose Power Quad"
description={[
"Located at DW805 60, Warszawice, we're your local trusted mechanic. With a 4.8★ rating from 14 verified customer reviews, we've earned our reputation through reliability, honest pricing, and expert workmanship.", "Emergency support when you need it. On-time delivery guaranteed. Fair, transparent pricing. Licensed and experienced technicians. Serving Warszawice and surrounding areas. Open 7 days a week, closes 18:00."]}
"4.8★ Rating | 14 Verified Reviews | 7 Days a Week Service", "Located at DW805 60, Warszawice, we're your local trusted mechanic. With a 4.8★ rating from 14 verified customer reviews, we've earned our reputation through reliability, honest pricing, and expert workmanship.", "Emergency support when you need it. On-time delivery guaranteed. Fair, transparent pricing. Licensed and experienced technicians. Serving Warszawice and surrounding areas. Open 7 days a week, closes 18:00."]}
showBorder={false}
useInvertedBackground={false}
buttons={[{ text: "Call 793 731 138", href: "tel:+48793731138" }]}
/>
</div>
<div id="reviews" data-section="reviews">
<div id="reviews" data-section="reviews" className="mb-8 md:mb-16">
<TestimonialCardFive
title="What Customers Say"
description="Trusted by local motorcycle and quad owners. Real feedback from riders who depend on Power Quad."
@@ -120,21 +177,21 @@ export default function LandingPage() {
useInvertedBackground={false}
testimonials={[
{
id: "1", name: "Piotr Kowalski, Motorcycle Owner", date: "Date: 15 January 2025", title: "Emergency help when I needed it most", quote: "My bike broke down on the way to work. Called Power Quad and they had me back on the road within 2 hours. Professional, fair price, and exactly what I needed. Highly recommend!", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", avatarAlt: "Piotr Kowalski", imageSrc: "http://img.b2bpic.net/free-photo/custom-motorcycle-standing-repair-shop_158595-8091.jpg?_wi=3", imageAlt: "Motorcycle repair service"},
id: "1", name: "Piotr Kowalski, Motorcycle Owner", date: "15 January 2025", title: "Emergency help when I needed it most", quote: "My bike broke down on the way to work. Called Power Quad and they had me back on the road within 2 hours. Professional, fair price, and exactly what I needed. Highly recommend!", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", avatarAlt: "Piotr Kowalski", imageSrc: "http://img.b2bpic.net/free-photo/custom-motorcycle-standing-repair-shop_158595-8091.jpg?_wi=3", imageAlt: "Motorcycle repair service"},
{
id: "2", name: "Agnieszka Lewandowska, Quad Enthusiast", date: "Date: 8 January 2025", title: "Reliable and honest mechanics", quote: "I've been bringing my quad to Power Quad for 2 years. They're honest about what needs fixing, never upsell, and always on time. Can't ask for better service in Warszawice.", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", avatarAlt: "Agnieszka Lewandowska", imageSrc: "http://img.b2bpic.net/free-photo/shock-absorber-atv-car-close-up_93675-133524.jpg?_wi=2", imageAlt: "Quad service"},
id: "2", name: "Agnieszka Lewandowska, Quad Enthusiast", date: "8 January 2025", title: "Reliable and honest mechanics", quote: "I've been bringing my quad to Power Quad for 2 years. They're honest about what needs fixing, never upsell, and always on time. Can't ask for better service in Warszawice.", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", avatarAlt: "Agnieszka Lewandowska", imageSrc: "http://img.b2bpic.net/free-photo/shock-absorber-atv-car-close-up_93675-133524.jpg?_wi=2", imageAlt: "Quad service"},
{
id: "3", name: "Tomasz Nowak, Local Rider", date: "Date: 28 December 2024", title: "Fair pricing and expert work", quote: "Got my motorcycle serviced before a long trip. They found an issue I didn't know about and fixed it right. Reasonable rates and the work is solid. Trusted them ever since.", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-businessman-standing-airport-terminal_107420-85070.jpg", avatarAlt: "Tomasz Nowak", imageSrc: "http://img.b2bpic.net/free-photo/muscular-man-is-fixing-car-s-wheel-with-special-tool-auto-service_613910-3825.jpg?_wi=2", imageAlt: "Tire replacement service"},
id: "3", name: "Tomasz Nowak, Local Rider", date: "28 December 2024", title: "Fair pricing and expert work", quote: "Got my motorcycle serviced before a long trip. They found an issue I didn't know about and fixed it right. Reasonable rates and the work is solid. Trusted them ever since.", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-businessman-standing-airport-terminal_107420-85070.jpg", avatarAlt: "Tomasz Nowak", imageSrc: "http://img.b2bpic.net/free-photo/muscular-man-is-fixing-car-s-wheel-with-special-tool-auto-service_613910-3825.jpg?_wi=2", imageAlt: "Tire replacement service"},
{
id: "4", name: "Maciej Ostrowski, Off-Road Enthusiast", date: "Date: 20 December 2024", title: "Professional and knowledgeable team", quote: "Complex ATV repair that other shops said would take weeks. Power Quad diagnosed it quickly, gave me a fair quote, and had it done in 3 days. Top-notch mechanics.", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", avatarAlt: "Maciej Ostrowski", imageSrc: "http://img.b2bpic.net/free-photo/emergency-auto-mechanic-changing-flat-tire-road_651396-3559.jpg?_wi=2", imageAlt: "Emergency assistance"},
id: "4", name: "Maciej Ostrowski, Off-Road Enthusiast", date: "20 December 2024", title: "Professional and knowledgeable team", quote: "Complex ATV repair that other shops said would take weeks. Power Quad diagnosed it quickly, gave me a fair quote, and had it done in 3 days. Top-notch mechanics.", tag: "5 Stars", avatarSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", avatarAlt: "Maciej Ostrowski", imageSrc: "http://img.b2bpic.net/free-photo/emergency-auto-mechanic-changing-flat-tire-road_651396-3559.jpg?_wi=2", imageAlt: "Emergency assistance"},
]}
/>
</div>
<div id="location" data-section="location">
<div id="location" data-section="location" className="mb-8 md:mb-16">
<MetricCardEleven
title="Find Us & Get Directions"
description="Located in Warszawice. Easy to find, fast service, professional repairs."
description="Located in Warszawice. Easy to find, fast service, professional repairs. DW805 60, 08-443 Warszawice, Poland."
textboxLayout="default"
useInvertedBackground={true}
animationType="slide-up"
@@ -144,13 +201,41 @@ export default function LandingPage() {
{
id: "2", value: "793 731 138", title: "Call Anytime", description: "Open 7 days. Closes 18:00. Emergency support available.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-girl-with-long-hair-garage-repairing-motorcycle_1321-1391.jpg?_wi=2", imageAlt: "Service workshop"},
]}
buttons={[
{
text: "Get Directions", href: "https://maps.google.com/?q=DW805+60+08-443+Warszawice"},
]}
/>
</div>
<div id="contact" data-section="contact">
{/* Google Map Embed */}
<div className="my-12 md:my-16 px-4 md:px-0">
<div className="max-w-6xl mx-auto">
<h2 className="text-2xl md:text-4xl font-bold text-gray-900 mb-6 text-center">
Visit Us in Warszawice
</h2>
<div className="relative overflow-hidden rounded-lg shadow-lg" style={{ paddingBottom: "56.25%" }}>
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2419.3789999999998!2d21.4!3d51.8!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x471d40c0000001%3A0x0!2sDW805%2060%2C%2008-443%20Warszawice%2C%20Poland!5e0!3m2!1sen!2s!4v1234567890"
width="100%"
height="450"
style={{
border: 0,
position: "absolute", top: 0,
left: 0,
width: "100%", height: "100%"}}
allowFullScreen={true}
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
/>
</div>
</div>
</div>
<div id="contact" data-section="contact" className="mb-8 md:mb-16">
<ContactFaq
ctaTitle="Need Service Today?"
ctaDescription="Call now or submit the form below. We respond within the hour."
ctaDescription="Call now or submit the form below. We respond within the hour. Available 7 days a week until 18:00."
ctaButton={{ text: "Call: 793 731 138", href: "tel:+48793731138" }}
ctaIcon={Phone}
useInvertedBackground={false}
@@ -164,16 +249,18 @@ export default function LandingPage() {
id: "3", title: "What brands do you service?", content: "We service all major motorcycle and quad brands including Honda, Yamaha, Suzuki, Kawasaki, KTM, Polaris, and more. Call to confirm your specific model."},
{
id: "4", title: "Is there a minimum service charge?", content: "No minimum charge. You only pay for the work performed. We provide transparent quotes upfront before starting any repairs."},
{
id: "5", title: "How can I schedule a service?", content: "Call us at 793 731 138 or use the contact form on this page. We'll confirm your appointment and provide an estimated repair cost."},
]}
/>
</div>
<div id="footer" data-section="footer">
<div id="footer" data-section="footer" className="mb-20 md:mb-0">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/mechanic-using-digital-tablet_1170-1507.jpg?_wi=2"
imageAlt="Professional motorcycle repair workshop"
logoText="Power Quad"
copyrightText="© 2025 Power Quad. Professional Motorcycle & Quad Service | Warszawice, Poland"
copyrightText="© 2025 Power Quad. Professional Motorcycle & Quad Service | Warszawice, Poland. All rights reserved."
columns={[
{
title: "Services", items: [
@@ -196,7 +283,7 @@ export default function LandingPage() {
{ label: "Call: 793 731 138", href: "tel:+48793731138" },
{ label: "DW805 60, Warszawice", href: "#location" },
{ label: "Open 7 Days Until 18:00", href: "#" },
{ label: "Get Directions", href: "#location" },
{ label: "Get Directions", href: "https://maps.google.com/?q=DW805+60+08-443+Warszawice" },
],
},
]}

View File

@@ -2,23 +2,23 @@
/* Base units */
/* --vw is set by ThemeProvider */
/* --background: #fbfaff;;
--card: #f7f5ff;;
--foreground: #0f0022;;
--primary-cta: #8b5cf6;;
/* --background: #ffffff;;
--card: #f9f9f9;;
--foreground: #1f3251;;
--primary-cta: #15479c;;
--secondary-cta: #ffffff;;
--accent: #d8cef5;;
--background-accent: #c4a8f9;; */
--accent: #15479c;;
--background-accent: #a8cce8;; */
--background: #fbfaff;;
--card: #f7f5ff;;
--foreground: #0f0022;;
--primary-cta: #8b5cf6;;
--background: #ffffff;;
--card: #f9f9f9;;
--foreground: #1f3251;;
--primary-cta: #15479c;;
--primary-cta-text: #fbfaff;;
--secondary-cta: #ffffff;;
--secondary-cta-text: #0f0022;;
--accent: #d8cef5;;
--background-accent: #c4a8f9;;
--accent: #15479c;;
--background-accent: #a8cce8;;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);