Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 911df72d3a | |||
| 8497a6caee | |||
| ed18b1129d | |||
| 1968c24e8b | |||
| ab076dc074 | |||
| b9380ece33 | |||
| 671f77c42d | |||
| 79632383aa | |||
| 151d5c71e9 |
@@ -1,53 +1,27 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Figtree } from "next/font/google";
|
import { Geist, Geist_Mono } from "next/font/google";
|
||||||
import { Halant } from "next/font/google";
|
|
||||||
import { Inter } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const figtree = Figtree({
|
const geist = Geist({
|
||||||
variable: "--font-figtree", subsets: ["latin"],
|
variable: "--font-geist-sans", subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
const halant = Halant({
|
const geistMono = Geist_Mono({
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
variable: "--font-geist-mono", subsets: ["latin"],
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "XCLUSIVE Barbershop Miami | Luxury Grooming", description: "Miami's #1 luxury barbershop. Premium haircuts, beard services, and grooming experiences for discerning professionals. 5-star rated. Book online.", keywords: "luxury barbershop Miami, premium grooming, executive haircuts, beard trimming, upscale salon, men's grooming", robots: {
|
title: "Create Next App", description: "Generated by create next app"};
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "XCLUSIVE Barbershop Miami | Luxury Grooming Experience", description: "Step into luxury at Miami's premier barbershop. Expert craftsmanship, exclusive atmosphere, 5-star experience.", url: "https://xclusivebarbershop.com", siteName: "XCLUSIVE Barbershop", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/portrait-stylish-male-who-himself-shaving-while-sitting-barber-chair-hairdressing-salon_613910-18629.jpg", alt: "XCLUSIVE Barbershop Luxury Grooming"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "XCLUSIVE Barbershop | Miami's Luxury Grooming Destination", description: "Premium barbershop with expert barbers, exclusive atmosphere, and impeccable service.", images: ["http://img.b2bpic.net/free-photo/portrait-stylish-male-who-himself-shaving-while-sitting-barber-chair-hairdressing-salon_613910-18629.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={`${figtree.variable} ${halant.variable} ${inter.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
@@ -1416,7 +1390,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,44 +81,36 @@ export default function LandingPage() {
|
|||||||
title: "Executive Haircuts", description: "Precision cuts tailored to your style. Classic fades, modern disconnects, and signature XCLUSIVE shapes. Every cut is a masterpiece.", icon: Scissors,
|
title: "Executive Haircuts", description: "Precision cuts tailored to your style. Classic fades, modern disconnects, and signature XCLUSIVE shapes. Every cut is a masterpiece.", icon: Scissors,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=1", imageAlt: "Executive haircut styling"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=1", imageAlt: "Executive haircut styling"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=2", imageAlt: "Professional barber technique"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=2", imageAlt: "Professional barber technique"},
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Luxury Beard Services", description: "Full beard sculpting, precise trims, and conditioning treatments. Our barbers shape beards with artistry and attention to detail.", icon: Sparkles,
|
title: "Luxury Beard Services", description: "Full beard sculpting, precise trims, and conditioning treatments. Our barbers shape beards with artistry and attention to detail.", icon: Sparkles,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=1", imageAlt: "Beard styling and grooming"
|
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=1", imageAlt: "Beard styling and grooming"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=2", imageAlt: "Premium beard trim"
|
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=2", imageAlt: "Premium beard trim"},
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Hot Towel Shave", description: "The ultimate traditional experience. Straight razor shave with premium products, hot towel treatments, and skin care—pure indulgence.", icon: Zap,
|
title: "Hot Towel Shave", description: "The ultimate traditional experience. Straight razor shave with premium products, hot towel treatments, and skin care—pure indulgence.", icon: Zap,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=3", imageAlt: "Hot towel shave experience"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=3", imageAlt: "Hot towel shave experience"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=4", imageAlt: "Premium shaving service"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-female-hairdresser-washing-bearded-men-s-hair-before-haircut-saloon_613910-5446.jpg?_wi=4", imageAlt: "Premium shaving service"},
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Grooming Packages", description: "Bundle services for maximum value. Haircut + beard sculpt + hot towel shave. Designed for the discerning gentleman.", icon: Package,
|
title: "Grooming Packages", description: "Bundle services for maximum value. Haircut + beard sculpt + hot towel shave. Designed for the discerning gentleman.", icon: Package,
|
||||||
mediaItems: [
|
mediaItems: [
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=3", imageAlt: "Complete grooming package"
|
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=3", imageAlt: "Complete grooming package"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=4", imageAlt: "Full grooming experience"
|
imageSrc: "http://img.b2bpic.net/free-photo/handsome-hipster-bearded-male-sitting-armchair-barber-shop-while-hairdresser-shaves-his-beard-with-dangerous-razor_613910-18507.jpg?_wi=4", imageAlt: "Full grooming experience"},
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
@@ -157,28 +149,22 @@ export default function LandingPage() {
|
|||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "1", name: "Marcus Thompson", role: "CEO", company: "Tech Innovations Miami", rating: 5,
|
id: "1", name: "Marcus Thompson", role: "CEO", company: "Tech Innovations Miami", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "Marcus Thompson testimonial"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "Marcus Thompson testimonial"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2", name: "David Chen", role: "Executive VP", company: "Premium Ventures", rating: 5,
|
id: "2", name: "David Chen", role: "Executive VP", company: "Premium Ventures", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "David Chen testimonial"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "David Chen testimonial"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3", name: "James Rodriguez", role: "Entrepreneur", company: "Coastal Hospitality Group", rating: 5,
|
id: "3", name: "James Rodriguez", role: "Entrepreneur", company: "Coastal Hospitality Group", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3", imageAlt: "James Rodriguez testimonial"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3", imageAlt: "James Rodriguez testimonial"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "4", name: "Alexander King", role: "Entertainment Manager", company: "Prestige Events", rating: 5,
|
id: "4", name: "Alexander King", role: "Entertainment Manager", company: "Prestige Events", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=4", imageAlt: "Alexander King testimonial"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=4", imageAlt: "Alexander King testimonial"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "5", name: "Christopher Lee", role: "Financial Advisor", company: "Wealth Management Partners", rating: 5,
|
id: "5", name: "Christopher Lee", role: "Financial Advisor", company: "Wealth Management Partners", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=5", imageAlt: "Christopher Lee testimonial"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=5", imageAlt: "Christopher Lee testimonial"},
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "6", name: "Michael Santos", role: "Business Owner", company: "Santos Luxury Goods", rating: 5,
|
id: "6", name: "Michael Santos", role: "Business Owner", company: "Santos Luxury Goods", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=6", imageAlt: "Michael Santos testimonial"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=6", imageAlt: "Michael Santos testimonial"},
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
gridVariant="uniform-all-items-equal"
|
gridVariant="uniform-all-items-equal"
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
@@ -195,8 +181,7 @@ export default function LandingPage() {
|
|||||||
tagIcon={Star}
|
tagIcon={Star}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
names={[
|
names={[
|
||||||
"Miami Luxury Magazine", "South Beach Style", "Elite Miami", "The Miami Herald", "Robb Report", "Forbes Miami", "Luxury Grooming Co.", "Men's Journal Miami"
|
"Miami Luxury Magazine", "South Beach Style", "Elite Miami", "The Miami Herald", "Robb Report", "Forbes Miami", "Luxury Grooming Co.", "Men's Journal Miami"]}
|
||||||
]}
|
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
speed={40}
|
speed={40}
|
||||||
@@ -218,7 +203,7 @@ export default function LandingPage() {
|
|||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
mediaPosition="right"
|
mediaPosition="right"
|
||||||
inputPlaceholder="Enter your email"
|
inputPlaceholder="Enter your email"
|
||||||
buttonText="Subscribe"
|
buttonText="Get Exclusive Access"
|
||||||
termsText="We respect your privacy. Unsubscribe anytime. Expect curated grooming tips and exclusive offers."
|
termsText="We respect your privacy. Unsubscribe anytime. Expect curated grooming tips and exclusive offers."
|
||||||
onSubmit={(email: string) => console.log("Newsletter signup:", email)}
|
onSubmit={(email: string) => console.log("Newsletter signup:", email)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -2,23 +2,23 @@
|
|||||||
/* Base units */
|
/* Base units */
|
||||||
/* --vw is set by ThemeProvider */
|
/* --vw is set by ThemeProvider */
|
||||||
|
|
||||||
/* --background: #fbfaff;;
|
/* --background: #000000;;
|
||||||
--card: #f7f5ff;;
|
--card: #1a1a1a;;
|
||||||
--foreground: #0f0022;;
|
--foreground: #ffffff;;
|
||||||
--primary-cta: #8b5cf6;;
|
--primary-cta: #ff0000;;
|
||||||
--secondary-cta: #ffffff;;
|
--secondary-cta: #0066ff;;
|
||||||
--accent: #d8cef5;;
|
--accent: #ff0000;;
|
||||||
--background-accent: #c4a8f9;; */
|
--background-accent: #0066ff;; */
|
||||||
|
|
||||||
--background: #fbfaff;;
|
--background: #000000;;
|
||||||
--card: #f7f5ff;;
|
--card: #1a1a1a;;
|
||||||
--foreground: #0f0022;;
|
--foreground: #ffffff;;
|
||||||
--primary-cta: #8b5cf6;;
|
--primary-cta: #ff0000;;
|
||||||
--primary-cta-text: #fbfaff;;
|
--primary-cta-text: #fbfaff;;
|
||||||
--secondary-cta: #ffffff;;
|
--secondary-cta: #0066ff;;
|
||||||
--secondary-cta-text: #0f0022;;
|
--secondary-cta-text: #0f0022;;
|
||||||
--accent: #d8cef5;;
|
--accent: #ff0000;;
|
||||||
--background-accent: #c4a8f9;;
|
--background-accent: #0066ff;;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user