Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e42193128 | |||
| f5c54b2c81 | |||
| 7af8886658 | |||
| cbc5a0e6d2 | |||
| 8fe0213926 | |||
| f73c47904c | |||
| 2b237bed88 | |||
| d0b4531f41 | |||
| f961777508 | |||
| 41ca0bd873 | |||
| 59184f3c72 | |||
| 97618faf33 |
@@ -7,7 +7,6 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
import { Montserrat } from "next/font/google";
|
||||
import { Montserrat } from "next/font/google";\nimport { Lora } from "next/font/google";
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +20,10 @@ export const metadata: Metadata = {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
const montserrat = Montserrat({ variable: "--font-montserrat", subsets: ["latin"] });\nconst lora = Lora({ variable: "--font-lora", subsets: ["latin"] });
|
||||
const montserrat = Montserrat({
|
||||
variable: "--font-montserrat",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
@@ -32,7 +33,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${montserrat.variable} ${lora.variable} antialiased`}>
|
||||
<body className={`${montserrat.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
301
src/app/page.tsx
301
src/app/page.tsx
@@ -19,102 +19,233 @@ export default function LandingPage() {
|
||||
borderRadius="rounded"
|
||||
contentWidth="compact"
|
||||
sizing="large"
|
||||
background="none"
|
||||
background="circleGradient"
|
||||
cardStyle="subtle-shadow"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="semibold"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Services", id: "services" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
button={{ text: "Book Now", href: "#contact" }}
|
||||
brandName="VY CUTZ"
|
||||
/>
|
||||
</div>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{
|
||||
name: "Services",
|
||||
id: "#services",
|
||||
},
|
||||
{
|
||||
name: "Gallery",
|
||||
id: "#gallery",
|
||||
},
|
||||
{
|
||||
name: "Reviews",
|
||||
id: "#reviews",
|
||||
},
|
||||
]}
|
||||
button={{
|
||||
text: "Book Appointment",
|
||||
href: "#contact",
|
||||
}}
|
||||
brandName="VY CUTZ"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroLogoBillboardSplit
|
||||
background={{ variant: "glowing-orb" }}
|
||||
logoText="VY CUTZ"
|
||||
description="Midnight Elegance. Gold Standard Grooming. Precision artistry tailored for the modern individual."
|
||||
buttons={[{ text: "Book Your Session", href: "#contact" }]}
|
||||
layoutOrder="default"
|
||||
imageSrc="https://images.unsplash.com/photo-1503951914875-452162b09f6f?q=80&w=1000&auto=format&fit=crop"
|
||||
imageAlt="Luxury grooming experience"
|
||||
mediaAnimation="blur-reveal"
|
||||
/>
|
||||
</div>
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroLogoBillboardSplit
|
||||
background={{
|
||||
variant: "radial-gradient",
|
||||
}}
|
||||
logoText="VY CUTZ"
|
||||
description="Experience precision cuts and luxury service tailored to you by Vy. The Gold Standard of Grooming in Forney."
|
||||
buttons={[
|
||||
{
|
||||
text: "Secure Your Chair",
|
||||
href: "#contact",
|
||||
},
|
||||
]}
|
||||
layoutOrder="default"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-unknown-woman-posing-studio_23-2149417625.jpg?_wi=1"
|
||||
imageAlt="Professional hair grooming shears"
|
||||
mediaAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<AboutMetric
|
||||
title="The Essence of Vy"
|
||||
metrics={[
|
||||
{ icon: Scissors, label: "Master Stylist", value: "5+ Years" },
|
||||
{ icon: Award, label: "Luxury Service", value: "Premium" },
|
||||
{ icon: Clock, label: "Consistency", value: "100%" },
|
||||
]}
|
||||
metricsAnimation="slide-up"
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
</div>
|
||||
<div id="about" data-section="about">
|
||||
<AboutMetric
|
||||
useInvertedBackground={false}
|
||||
title="The Vy Experience"
|
||||
metrics={[
|
||||
{
|
||||
icon: Scissors,
|
||||
label: "Precision Cuts",
|
||||
value: "100%",
|
||||
},
|
||||
{
|
||||
icon: Award,
|
||||
label: "Client Trust",
|
||||
value: "5-Star",
|
||||
},
|
||||
{
|
||||
icon: Clock,
|
||||
label: "Service Quality",
|
||||
value: "Mastery",
|
||||
},
|
||||
]}
|
||||
metricsAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<PricingCardNine
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
plans={[
|
||||
{
|
||||
id: "cut", title: "Signature Cut", price: "$55", period: "session", features: ["Precision Cut", "Hot Towel", "Beard Trim", "Style"],
|
||||
button: { text: "Select", href: "#contact" },
|
||||
},
|
||||
{
|
||||
id: "deluxe", title: "The Gold Treatment", price: "$85", period: "session", features: ["Everything in Signature", "Scalp Massage", "Luxury Shave", "Face Treatment"],
|
||||
button: { text: "Select", href: "#contact" },
|
||||
},
|
||||
]}
|
||||
title="Tailored Services"
|
||||
description="Experience the perfect blend of technique and relaxation."
|
||||
/>
|
||||
</div>
|
||||
<div id="services" data-section="services">
|
||||
<PricingCardNine
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
plans={[
|
||||
{
|
||||
id: "sig",
|
||||
title: "The Signature Cut",
|
||||
price: "$45",
|
||||
period: "Session",
|
||||
features: [
|
||||
"Precision Haircut",
|
||||
"Hot Towel Finish",
|
||||
"Expert Styling",
|
||||
],
|
||||
button: {
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-unknown-woman-posing-studio_23-2149417625.jpg?_wi=2",
|
||||
imageAlt: "barber professional shears dark background",
|
||||
},
|
||||
{
|
||||
id: "young",
|
||||
title: "The Young Professional",
|
||||
price: "$35",
|
||||
period: "Session",
|
||||
features: [
|
||||
"Modern Style Consult",
|
||||
"Precision Cut",
|
||||
"Finished Look",
|
||||
],
|
||||
button: {
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-barber-client-preparing-treatment_23-2147737010.jpg",
|
||||
imageAlt: "professional stylist in studio portrait",
|
||||
},
|
||||
{
|
||||
id: "shine",
|
||||
title: "Style & Shine",
|
||||
price: "$55",
|
||||
period: "Session",
|
||||
features: [
|
||||
"Specialty Cut",
|
||||
"Health Focused",
|
||||
"Texture & Vibrance",
|
||||
],
|
||||
button: {
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/impressed-young-barber-wearing-uniform-glasses-holding-shaving-razors-looking-one-them-isolated-blue-background_141793-134401.jpg",
|
||||
imageAlt: "happy client professional barber cut",
|
||||
},
|
||||
]}
|
||||
title="Curated Services"
|
||||
description="Masterclass consistency and care for every unique style."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="reviews" data-section="reviews">
|
||||
<TestimonialCardFifteen
|
||||
useInvertedBackground={true}
|
||||
testimonial="The most elegant grooming experience in Forney. Every detail is perfect, from the ambiance to the service."
|
||||
rating={5}
|
||||
author="Marcus J."
|
||||
avatars={[]}
|
||||
ratingAnimation="slide-up"
|
||||
avatarsAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
<div id="reviews" data-section="reviews">
|
||||
<TestimonialCardFifteen
|
||||
useInvertedBackground={false}
|
||||
testimonial="I refuse to let anyone else cut my hair. Vy is a true master of her craft and the service is unmatched in Forney."
|
||||
rating={5}
|
||||
author="Timothy M."
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/impressed-young-barber-wearing-uniform-glasses-holding-shaving-razors-looking-one-them-isolated-blue-background_141793-134401.jpg",
|
||||
alt: "Client 1",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/female-hairdresser-styling-clients-hair_107420-94689.jpg",
|
||||
alt: "Client 2",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/handsome-black-male-dressed-suit-from-wool_613910-15888.jpg",
|
||||
alt: "Client 3",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/senior-male-client-with-cape-barbershop_23-2148181927.jpg",
|
||||
alt: "Client 4",
|
||||
},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/cheerful-barber-client-preparing-treatment_23-2147737010.jpg",
|
||||
alt: "Client 5",
|
||||
},
|
||||
]}
|
||||
ratingAnimation="slide-up"
|
||||
avatarsAnimation="blur-reveal"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactText
|
||||
useInvertedBackground={false}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
text="VY CUTZ | Forney Salon Suites. Join our waitlist or secure your chair now for the gold standard."
|
||||
buttons={[{ text: "Book Now", href: "#" }]}
|
||||
/>
|
||||
</div>
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactText
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "rotated-rays-static",
|
||||
}}
|
||||
text="Located within the Forney Salon Suites (Next to Cristina’s). Secure your chair today for the Gold Standard of Grooming."
|
||||
buttons={[
|
||||
{
|
||||
text: "Book Appointment Now",
|
||||
href: "https://booking.link",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterSimple
|
||||
columns={[]}
|
||||
bottomLeftText="© 2025 Vy Cutz. Luxury Grooming."
|
||||
bottomRightText="Forney, Texas"
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Vy Cutz",
|
||||
items: [
|
||||
{
|
||||
label: "Services",
|
||||
href: "#services",
|
||||
},
|
||||
{
|
||||
label: "Gallery",
|
||||
href: "#gallery",
|
||||
},
|
||||
{
|
||||
label: "Reviews",
|
||||
href: "#reviews",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
bottomLeftText="© 2024 Vy Cutz. All rights reserved."
|
||||
bottomRightText="Forney, Texas"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #0a0a0a;
|
||||
--card: #171717;
|
||||
--card: #1a1a1a;
|
||||
--foreground: #f5f5f5;
|
||||
--primary-cta: #D4AF37;
|
||||
--primary-cta: #FFD700;
|
||||
--primary-cta-text: #0a0a0a;
|
||||
--secondary-cta: #262626;
|
||||
--secondary-cta: #1a1a1a;
|
||||
--secondary-cta-text: #f5f5f5;
|
||||
--accent: #D4AF37;
|
||||
--background-accent: #1a1a1a;
|
||||
--accent: #5c5c5c;
|
||||
--background-accent: #2e2e2e;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user