Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 659196960f | |||
| e51b428902 | |||
| ea3cf58d55 | |||
| d2619af34d | |||
| 40fa721ff6 | |||
| fec2e3e6a3 | |||
| 6729afc717 | |||
| b657a3562f | |||
| e1464ce6b9 | |||
| 59cf33e425 | |||
| aa0aa7ae05 | |||
| 034175d35d | |||
| 4e1b967948 | |||
| 6bfb5efaac | |||
| d2bdf47b5e | |||
| f631fe3e44 | |||
| e0ad089658 | |||
| 0507867c59 | |||
| d8f7e90695 | |||
| 31f9e9ea2c |
@@ -1,50 +1,28 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
import { Geist, Geist_Mono } from "next/font/google";
|
||||||
import { Inter } from "next/font/google";
|
|
||||||
import { Open_Sans } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const halant = Halant({
|
const geist = Geist({
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
variable: "--font-geist-sans", subsets: ["latin"],
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const inter = Inter({
|
const geistMono = Geist_Mono({
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
variable: "--font-geist-mono", subsets: ["latin"],
|
||||||
});
|
|
||||||
|
|
||||||
const openSans = Open_Sans({
|
|
||||||
variable: "--font-open-sans", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "The Famous American Barbershop – Atlas | Gainesville, VA", description: "Classic American barbershop in Gainesville, VA. Professional men's haircuts, fades, beard trims, and grooming services. Visit us at Virginia Gateway Shopping Center.", keywords: "barbershop, haircuts, fades, beard trim, Gainesville Virginia, men's grooming, barber shop", openGraph: {
|
title: "The Famous American Barbershop – Atlas", description: "Classic American barbershop serving Gainesville and surrounding communities. Professional men's grooming in a relaxed, friendly atmosphere."
|
||||||
title: "The Famous American Barbershop – Atlas", description: "Expert men's grooming services in Gainesville, Virginia", siteName: "The Famous American Barbershop – Atlas", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/brown-vintage-leather-chairs-stylish-barber-shop_627829-6188.jpg", alt: "The Famous American Barbershop – Atlas"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "The Famous American Barbershop – Atlas", description: "Expert men's grooming services in Gainesville, Virginia", images: [
|
|
||||||
"http://img.b2bpic.net/free-photo/brown-vintage-leather-chairs-stylish-barber-shop_627829-6188.jpg"],
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={`${geist.variable} ${geistMono.variable} antialiased`}>
|
||||||
<body
|
{children}
|
||||||
className={`${halant.variable} ${inter.variable} ${openSans.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
@@ -1413,7 +1391,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
128
src/app/page.tsx
128
src/app/page.tsx
@@ -9,7 +9,7 @@ import MetricCardThree from '@/components/sections/metrics/MetricCardThree';
|
|||||||
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
||||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import { Calendar, Clock, MapPin, Phone, Scissors, Sparkles, Sun } from "lucide-react";
|
import { Calendar, Clock, MapPin, Phone, Scissors, Sparkles, Sun, DollarSign } from "lucide-react";
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -31,6 +31,7 @@ export default function LandingPage() {
|
|||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "home" },
|
{ name: "Home", id: "home" },
|
||||||
{ name: "Services", id: "services" },
|
{ name: "Services", id: "services" },
|
||||||
|
{ name: "Pricing", id: "pricing" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Gallery", id: "gallery" },
|
{ name: "Gallery", id: "gallery" },
|
||||||
{ name: "Contact", id: "contact" },
|
{ name: "Contact", id: "contact" },
|
||||||
@@ -46,15 +47,18 @@ export default function LandingPage() {
|
|||||||
description="Classic American barbershop serving Gainesville and surrounding communities. Professional men's grooming in a relaxed, friendly atmosphere."
|
description="Classic American barbershop serving Gainesville and surrounding communities. Professional men's grooming in a relaxed, friendly atmosphere."
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Call Now", href: "tel:(703) 754-2655" },
|
{ text: "Call Now", href: "tel:(703) 754-2655" },
|
||||||
{ text: "Visit Us", href: "#contact" },
|
{ text: "View Pricing", href: "#pricing" },
|
||||||
]}
|
]}
|
||||||
slides={[
|
slides={[
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/brown-vintage-leather-chairs-stylish-barber-shop_627829-6188.jpg", imageAlt: "Classic barber shop interior"},
|
imageSrc: "https://images.unsplash.com/photo-1585747860715-cd4628902d4a?w=800&q=80&_wi=1", imageAlt: "Classic barber shop interior"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/luxury-armchairs-barber-shop_140725-7720.jpg?_wi=1", imageAlt: "Professional barber chairs"},
|
imageSrc: "https://images.unsplash.com/photo-1592245388900-8d4fc64dbd51?w=800&q=80", imageAlt: "Professional barber chairs"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-pensive-man-is-waiting-his-turn-get-haircut-busy-barbershop_613910-21489.jpg?_wi=1", imageAlt: "Professional haircut service"},
|
imageSrc: "https://images.unsplash.com/photo-1622286346537-29c879d7cb8d?w=800&q=80", imageAlt: "Professional haircut service"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
autoplayDelay={4000}
|
autoplayDelay={4000}
|
||||||
showDimOverlay={true}
|
showDimOverlay={true}
|
||||||
@@ -69,7 +73,7 @@ export default function LandingPage() {
|
|||||||
description="The Famous American Barbershop – Atlas"
|
description="The Famous American Barbershop – Atlas"
|
||||||
subdescription="Your neighborhood destination for quality grooming"
|
subdescription="Your neighborhood destination for quality grooming"
|
||||||
icon={Scissors}
|
icon={Scissors}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/luxury-armchairs-barber-shop_140725-7720.jpg?_wi=2"
|
imageSrc="https://images.unsplash.com/photo-1585747860715-cd4628902d4a?w=800&q=80&_wi=2"
|
||||||
imageAlt="Inside The Famous American Barbershop – Atlas"
|
imageAlt="Inside The Famous American Barbershop – Atlas"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
@@ -85,30 +89,90 @@ export default function LandingPage() {
|
|||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
tag: "Classic", title: "Men's Haircuts", subtitle: "Timeless styles and modern fades", description: "Professional haircuts ranging from classic cuts to modern fades, tailored to your preferences by our experienced barbers.", imageSrc: "http://img.b2bpic.net/free-photo/professional-barber-working-with-client-hairdressing-salon-styling-beard-with-comb_613910-5069.jpg", imageAlt: "Professional men's haircut"},
|
tag: "Classic", title: "Men's Haircuts", subtitle: "Timeless styles and modern fades", description: "Professional haircuts ranging from classic cuts to modern fades, tailored to your preferences by our experienced barbers.", imageSrc: "https://images.unsplash.com/photo-1621607505857-44a5e0eed1b0?w=800&q=80&_wi=1", imageAlt: "Professional men's haircut"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
tag: "Precision", title: "Beard Trims & Razor Shaves", subtitle: "Traditional grooming expertise", description: "Expert beard maintenance and smooth razor shaves using traditional techniques for the ultimate grooming experience.", imageSrc: "http://img.b2bpic.net/free-photo/professional-hairdresser-modeling-beard-barbershop-close-up-photo_613910-18422.jpg", imageAlt: "Beard trim and razor shave service"},
|
tag: "Precision", title: "Beard Trims & Razor Shaves", subtitle: "Traditional grooming expertise", description: "Expert beard maintenance and smooth razor shaves using traditional techniques for the ultimate grooming experience.", imageSrc: "https://images.unsplash.com/photo-1599351566329-0e3e0c68b0bb?w=800&q=80&_wi=1", imageAlt: "Beard trim and razor shave service"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
tag: "Detail Work", title: "Line Ups & Skin Fades", subtitle: "Precision edge work", description: "Sharp line ups and clean skin fades with attention to detail. Get that fresh, polished look you deserve.", imageSrc: "http://img.b2bpic.net/free-photo/side-view-confident-groom-with-beard-mustaches-standing-looking-away-while-his-friend-standing-him-helping-dressing-up-shirt-bow-tie-hotel-room-wedding-day_8353-12417.jpg", imageAlt: "Precision line up and fade service"},
|
tag: "Detail Work", title: "Line Ups & Skin Fades", subtitle: "Precision edge work", description: "Sharp line ups and clean skin fades with attention to detail. Get that fresh, polished look you deserve.", imageSrc: "https://images.unsplash.com/photo-1599351566329-0e3e0c68b0bb?w=800&q=80&_wi=2", imageAlt: "Precision line up and fade service"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="pricing" data-section="pricing">
|
||||||
|
<FeatureCardNineteen
|
||||||
|
title="Service Pricing"
|
||||||
|
description="Transparent pricing for all our professional grooming services. Cash required."
|
||||||
|
tag="Pricing"
|
||||||
|
tagIcon={DollarSign}
|
||||||
|
features={[
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
tag: "Regular", title: "Men's Haircuts", subtitle: "$17", description: "Professional haircut with modern fades & classic cuts. Consultation included"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
tag: "Youth", title: "Boys Haircuts", subtitle: "$14", description: "Ages under 12. Quick & professional service with kid-friendly atmosphere"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
tag: "Specialty", title: "Beard Services", subtitle: "$8", description: "Beard trim & shape with precision grooming and expert technique"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 4,
|
||||||
|
tag: "Classic", title: "Straight Razor Shave", subtitle: "$16", description: "Traditional technique for close & smooth shave. Relaxing experience"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 5,
|
||||||
|
tag: "Specialty", title: "Women's Haircuts", subtitle: "$19", description: "Professional styling with modern techniques and custom cuts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 6,
|
||||||
|
tag: "Youth", title: "Girls Haircuts", subtitle: "$15", description: "Young girls service, gentle & professional in fun atmosphere"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 7,
|
||||||
|
tag: "Quick", title: "Bang Trim", subtitle: "$7", description: "Quick touch-up with precise cutting. Walk-in welcome"
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
textboxLayout="default"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
/>
|
||||||
|
<div className="w-full py-8 px-4 md:px-0 flex flex-col gap-4">
|
||||||
|
<div className="max-w-2xl mx-auto bg-primary-cta/5 border border-primary-cta/20 rounded-lg p-6">
|
||||||
|
<h3 className="text-lg font-semibold mb-3 text-foreground">Special Discounts</h3>
|
||||||
|
<p className="text-sm mb-3 text-foreground/80"><strong>Seniors, Police, Firemen & Active Duty Military:</strong> $2 off all services on weekdays only</p>
|
||||||
|
<p className="text-xs text-foreground/70 mb-3">Please bring valid ID for discount verification</p>
|
||||||
|
</div>
|
||||||
|
<div className="max-w-2xl mx-auto bg-secondary-cta text-foreground rounded-lg p-6">
|
||||||
|
<p className="text-sm font-medium mb-2">Payment & Coupons</p>
|
||||||
|
<p className="text-sm"><strong>Cash is required</strong> for all services</p>
|
||||||
|
<p className="text-xs mt-3 text-foreground/70">Note: Coupons discount regular price, not special pricing</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="gallery" data-section="gallery">
|
<div id="gallery" data-section="gallery">
|
||||||
<ProductCardThree
|
<ProductCardThree
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "1", name: "Professional Barber Chairs", price: "Craftsmanship", imageSrc: "http://img.b2bpic.net/free-photo/luxury-armchairs-barber-shop_140725-7720.jpg?_wi=3", imageAlt: "Professional barber chairs"},
|
id: "1", name: "Premium Haircut", price: "Expert Results", imageSrc: "https://images.unsplash.com/photo-1599351566329-0e3e0c68b0bb?w=800&q=80&_wi=3", imageAlt: "Professional haircut example"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", name: "Traditional Tools", price: "Quality Equipment", imageSrc: "http://img.b2bpic.net/free-photo/top-view-male-self-care-setting-still-life_23-2150326536.jpg", imageAlt: "Barber tools and grooming kit"},
|
id: "2", name: "Precision Fade", price: "Sharp Lines", imageSrc: "https://images.unsplash.com/photo-1621607505857-44a5e0eed1b0?w=800&q=80&_wi=2", imageAlt: "Precision fade service"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", name: "Expert Results", price: "Precision Cuts", imageSrc: "http://img.b2bpic.net/free-photo/attractive-pensive-man-is-waiting-his-turn-get-haircut-busy-barbershop_613910-21489.jpg?_wi=2", imageAlt: "Professional haircut results"},
|
id: "3", name: "Classic Style", price: "Timeless Look", imageSrc: "https://images.unsplash.com/photo-1599351566329-0e3e0c68b0bb?w=800&q=80&_wi=4", imageAlt: "Classic haircut style"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", name: "Welcoming Atmosphere", price: "Community Focused", imageSrc: "http://img.b2bpic.net/free-photo/young-bearded-man-washing-head-by-hairdresser-while-sitting-chair-barbershop-barber-soul_627829-6316.jpg", imageAlt: "Inside The Famous American Barbershop – Atlas"},
|
id: "4", name: "Welcoming Atmosphere", price: "Community Focused", imageSrc: "https://images.unsplash.com/photo-1585747860715-cd4628902d4a?w=800&q=80&_wi=3", imageAlt: "Inside The Famous American Barbershop – Atlas"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
title="Gallery"
|
title="Gallery"
|
||||||
description="Explore our shop, tools, and expert craftsmanship"
|
description="Explore our shop, tools, and expert craftsmanship"
|
||||||
@@ -126,16 +190,20 @@ export default function LandingPage() {
|
|||||||
metrics={[
|
metrics={[
|
||||||
{
|
{
|
||||||
id: "1", icon: Clock,
|
id: "1", icon: Clock,
|
||||||
title: "Weekday Hours", value: "9 AM – 7 PM"},
|
title: "Weekday Hours", value: "9 AM – 7 PM"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", icon: Calendar,
|
id: "2", icon: Calendar,
|
||||||
title: "Saturday", value: "8 AM – 5 PM"},
|
title: "Saturday", value: "8 AM – 5 PM"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", icon: Sun,
|
id: "3", icon: Sun,
|
||||||
title: "Sunday", value: "9 AM – 4 PM"},
|
title: "Sunday", value: "9 AM – 4 PM"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", icon: MapPin,
|
id: "4", icon: MapPin,
|
||||||
title: "Location", value: "Gainesville, VA"},
|
title: "Location", value: "Gainesville, VA"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
title="Hours & Location"
|
title="Hours & Location"
|
||||||
description="Visit us in the heart of Virginia Gateway Shopping Center"
|
description="Visit us in the heart of Virginia Gateway Shopping Center"
|
||||||
@@ -151,20 +219,26 @@ export default function LandingPage() {
|
|||||||
<ContactFaq
|
<ContactFaq
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1", title: "Do I need an appointment?", content: "No appointment needed! Walk-ins are always welcome. However, we recommend calling ahead during busy times to ensure minimal wait. You can reach us at (703) 754-2655."},
|
id: "1", title: "What payment methods do you accept?", content: "We accept cash only. All services require cash payment."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "2", title: "What payment methods do you accept?", content: "We accept cash, credit cards, and digital payment methods. All major credit cards are welcome."},
|
id: "2", title: "Is this a good barbershop for first-timers?", content: "Absolutely! Our barbers are experienced and friendly. We welcome new customers and take time to understand your desired style. Come in and experience the classic American barbershop atmosphere."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "3", title: "Is this a good barbershop for first-timers?", content: "Absolutely! Our barbers are experienced and friendly. We welcome new customers and take time to understand your desired style. Come in and experience the classic American barbershop atmosphere."},
|
id: "3", title: "Where exactly are you located?", content: "We're located at 7325 Atlas Walk Way, Gainesville, VA 20155, in the Virginia Gateway Shopping Center. Easy access and convenient parking available."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "4", title: "Where exactly are you located?", content: "We're located at 7325 Atlas Walk Way, Gainesville, VA 20155, in the Virginia Gateway Shopping Center. Easy access and convenient parking available."},
|
id: "4", title: "What makes your barbershop special?", content: "We combine classic American barbering tradition with modern grooming techniques. Our experienced barbers deliver quality cuts, fades, and beard services in a relaxed, welcoming neighborhood atmosphere."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "5", title: "What makes your barbershop special?", content: "We combine classic American barbering tradition with modern grooming techniques. Our experienced barbers deliver quality cuts, fades, and beard services in a relaxed, welcoming neighborhood atmosphere."},
|
id: "5", title: "Do you offer discounts?", content: "Yes! Seniors, police officers, firemen, and active duty military receive $2 off all services on weekdays only. Please bring valid ID for verification. Note that coupons discount regular price, not special pricing."
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
ctaTitle="Get in Touch"
|
ctaTitle="Get in Touch"
|
||||||
ctaDescription="Walk-ins welcome! Call now or visit during business hours—no appointment needed."
|
ctaDescription="No appointment needed—walk-ins always welcome! Call now or visit during business hours."
|
||||||
ctaButton={{
|
ctaButton={{
|
||||||
text: "Call (703) 754-2655", href: "tel:(703) 754-2655"}}
|
text: "Call (703) 754-2655", href: "tel:(703) 754-2655"
|
||||||
|
}}
|
||||||
ctaIcon={Phone}
|
ctaIcon={Phone}
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
@@ -175,9 +249,11 @@ export default function LandingPage() {
|
|||||||
<FooterLogoReveal
|
<FooterLogoReveal
|
||||||
logoText="ATLAS"
|
logoText="ATLAS"
|
||||||
leftLink={{
|
leftLink={{
|
||||||
text: "Hours", href: "#hours-location"}}
|
text: "Pricing", href: "#pricing"
|
||||||
|
}}
|
||||||
rightLink={{
|
rightLink={{
|
||||||
text: "Contact", href: "#contact"}}
|
text: "Contact", href: "#contact"
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
|
|||||||
Reference in New Issue
Block a user