Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d8ec1ef67a | |||
| 7310351a5b | |||
| 9527880d86 | |||
| 3446733745 | |||
| bf9d8fe7e9 | |||
| a70de6ba94 | |||
| aaaf12ce3b | |||
| 64c46d8d0f | |||
| c9d0eef6f7 | |||
| 318138a4aa | |||
| 8edb236561 | |||
| 957d050c20 | |||
| 2d471ca83d | |||
| 65f4ab00d4 | |||
| a53fd40d8c | |||
| 81053dc398 | |||
| 1a2bfd9107 | |||
| fe5d0dcb84 | |||
| 330b818b01 | |||
| 644cd89500 | |||
| a5d0f55242 | |||
| c08614243c |
@@ -8,6 +8,7 @@ import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
import { Manrope } from "next/font/google";
|
||||
import { DM_Sans } from "next/font/google";
|
||||
import { Open_Sans } from "next/font/google";
|
||||
|
||||
|
||||
|
||||
@@ -17,12 +18,13 @@ export const metadata: Metadata = {
|
||||
keywords: ["barbers, men's grooming, barbershop, haircut, shave, beard trim, city center barber"],
|
||||
};
|
||||
|
||||
const manrope = Manrope({
|
||||
variable: "--font-manrope",
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
const dmSans = DM_Sans({
|
||||
variable: "--font-dm-sans",
|
||||
const openSans = Open_Sans({
|
||||
variable: "--font-open-sans",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
@@ -34,7 +36,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${manrope.variable} ${dmSans.variable} antialiased`}>
|
||||
<body className={`${inter.variable} ${openSans.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
230
src/app/page.tsx
230
src/app/page.tsx
@@ -32,66 +32,30 @@ export default function LandingPage() {
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "hero",
|
||||
},
|
||||
name: "Home", id: "hero"},
|
||||
{
|
||||
name: "About",
|
||||
id: "about",
|
||||
},
|
||||
name: "About", id: "about"},
|
||||
{
|
||||
name: "Services",
|
||||
id: "pricing",
|
||||
},
|
||||
name: "Services", id: "pricing"},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "contact",
|
||||
},
|
||||
name: "Contact", id: "contact"},
|
||||
]}
|
||||
brandName="Paul Fox Gents Barbers"
|
||||
brandName="Grants Gloucester Sewing Machines "
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardCarousel
|
||||
background={{
|
||||
variant: "gradient-bars",
|
||||
}}
|
||||
title="Precision Grooming in the Heart of the City"
|
||||
description="Welcome to Paul Fox Gents Barbers. Expert cuts, traditional techniques, and modern styling for the discerning gentleman."
|
||||
tag="Since 2012"
|
||||
variant: "gradient-bars"}}
|
||||
title="Sewing Repair Service "
|
||||
description="Welcome to Grants Gloucester Sewing Machines. Just call to book in your service or repairs. Call 07702 290017"
|
||||
tag=""
|
||||
buttons={[
|
||||
{
|
||||
text: "Book Your Appointment",
|
||||
href: "#contact",
|
||||
},
|
||||
]}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-getting-his-beard-shaved-with-razor_107420-94772.jpg?_wi=1",
|
||||
imageAlt: "Barber shop interior",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-bearded-man-barbershop-barber-work-washing-head_627829-7378.jpg",
|
||||
imageAlt: "Barber shop interior",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/retro-world-theatre-day-scenes-with-backstage_23-2151211363.jpg",
|
||||
imageAlt: "Barber shop interior",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beauty-salon-with-cosmetology-equipment-anime-style_23-2151501035.jpg",
|
||||
imageAlt: "Barber shop interior",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-bearded-man-getting-shaved-with-straight-edge-razor-by-hairdresser-barbershop_1153-9769.jpg",
|
||||
imageAlt: "Barber shop interior",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-getting-his-beard-shaved-with-razor_107420-94764.jpg",
|
||||
imageAlt: "Barber shop interior",
|
||||
},
|
||||
text: "Book Your Appointment", href: "#contact"},
|
||||
]}
|
||||
mediaItems={[]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -102,10 +66,9 @@ export default function LandingPage() {
|
||||
title="Crafting Quality Cuts for Over a Decade"
|
||||
description="Paul Fox Gents Barbers combines traditional wet-shaving and classic cutting methods with contemporary hair trends. We believe in high standards, friendly service, and a relaxed environment."
|
||||
subdescription="Whether it's a routine trim or a complete style overhaul, our team ensures every client leaves looking their absolute best."
|
||||
imageSrc="http://img.b2bpic.net/free-photo/male-hairdresser-posing-salon_23-2150462487.jpg?_wi=1"
|
||||
mediaAnimation="slide-up"
|
||||
imageAlt="barber expert precision trim"
|
||||
icon={Scissors}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DO7oLccHB3LV3ekAgQXeoHNZqa/uploaded-1778143809298-gdmc45xf.jpg"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -116,56 +79,32 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
plans={[
|
||||
{
|
||||
id: "p1",
|
||||
name: "Classic Cut",
|
||||
price: "£25",
|
||||
features: [
|
||||
"Consultation",
|
||||
"Cut & Style",
|
||||
"Finished with premium pomade",
|
||||
],
|
||||
id: "p1", name: "Classic Cut", price: "£25", features: [
|
||||
"Consultation", "Cut & Style", "Finished with premium pomade"],
|
||||
buttons: [
|
||||
{
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
text: "Book Now", href: "#contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "p2",
|
||||
name: "Beard Trim & Shape",
|
||||
price: "£18",
|
||||
features: [
|
||||
"Beard sculpting",
|
||||
"Hot towel treatment",
|
||||
"Oil treatment",
|
||||
],
|
||||
id: "p2", name: "Beard Trim & Shape", price: "£18", features: [
|
||||
"Beard sculpting", "Hot towel treatment", "Oil treatment"],
|
||||
buttons: [
|
||||
{
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
text: "Book Now", href: "#contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "p3",
|
||||
name: "Signature Full Service",
|
||||
price: "£45",
|
||||
features: [
|
||||
"Haircut & Wash",
|
||||
"Hot Towel Shave",
|
||||
"Beard Grooming",
|
||||
],
|
||||
id: "p3", name: "Signature Full Service", price: "£45", features: [
|
||||
"Haircut & Wash", "Hot Towel Shave", "Beard Grooming"],
|
||||
buttons: [
|
||||
{
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
},
|
||||
text: "Book Now", href: "#contact"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
title="Services & Pricing"
|
||||
description="Transparent pricing for our signature grooming services."
|
||||
title="Services "
|
||||
description="We offer a range of signature services."
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -177,26 +116,11 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
members={[
|
||||
{
|
||||
id: "m1",
|
||||
name: "Paul Fox",
|
||||
role: "Head Barber",
|
||||
description: "Expert in classic scissor cuts.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/impressed-middle-aged-male-barber-uniform-holding-straight-razor-isolated-purple-wall_141793-102750.jpg?_wi=1",
|
||||
},
|
||||
id: "m1", name: "Paul Fox", role: "Head Barber", description: "Expert in classic scissor cuts."},
|
||||
{
|
||||
id: "m2",
|
||||
name: "Jack Smith",
|
||||
role: "Senior Stylist",
|
||||
description: "Specialist in modern fades.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pleased-slavic-middle-aged-male-barber-uniform-holding-barber-tools-isolated-purple-wall_141793-91610.jpg?_wi=1",
|
||||
},
|
||||
id: "m2", name: "Jack Smith", role: "Senior Stylist", description: "Specialist in modern fades."},
|
||||
{
|
||||
id: "m3",
|
||||
name: "Sam Rivers",
|
||||
role: "Master Groomer",
|
||||
description: "Beard artistry expert.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pleased-young-caucasian-male-barber-wearing-glasses-wavy-hair-band-uniform-doing-haircut-his-young-client_141793-98529.jpg?_wi=1",
|
||||
},
|
||||
id: "m3", name: "Sam Rivers", role: "Master Groomer", description: "Beard artistry expert."},
|
||||
]}
|
||||
title="Meet Our Master Barbers"
|
||||
description="Our professionals are dedicated to precision and style."
|
||||
@@ -209,60 +133,15 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "t1",
|
||||
name: "Alex Miller",
|
||||
date: "Oct 2023",
|
||||
title: "Top Tier",
|
||||
quote: "Best trim in the city by far.",
|
||||
tag: "Regular",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/young-joyful-blonde-male-barber-uniform-holds-hair-clipper-raises-fist-up-isolated-olive-green-space-with-copy-space_141793-60317.jpg",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-getting-his-beard-shaved-with-razor_107420-94772.jpg?_wi=2",
|
||||
imageAlt: "satisfied customer hair cut",
|
||||
},
|
||||
id: "t1", name: "Alex Miller", date: "Oct 2023", title: "Top Tier", quote: "Best trim in the city by far.", tag: "Regular", avatarSrc: ""},
|
||||
{
|
||||
id: "t2",
|
||||
name: "Jordan P.",
|
||||
date: "Sept 2023",
|
||||
title: "Professional",
|
||||
quote: "Great environment and consistent quality.",
|
||||
tag: "Regular",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/happy-mature-businessman-glasses-shaking-hands-with-female-partner-meeting-co-working-space_74855-10006.jpg",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-hairdresser-posing-salon_23-2150462487.jpg?_wi=2",
|
||||
imageAlt: "satisfied customer hair cut",
|
||||
},
|
||||
id: "t2", name: "Jordan P.", date: "Sept 2023", title: "Professional", quote: "Great environment and consistent quality.", tag: "Regular", avatarSrc: ""},
|
||||
{
|
||||
id: "t3",
|
||||
name: "Chris B.",
|
||||
date: "Aug 2023",
|
||||
title: "Highly Recommend",
|
||||
quote: "Paul never misses on the beard trim.",
|
||||
tag: "Regular",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/blond-man-happy-expression_1194-2900.jpg",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/impressed-middle-aged-male-barber-uniform-holding-straight-razor-isolated-purple-wall_141793-102750.jpg?_wi=2",
|
||||
imageAlt: "satisfied customer hair cut",
|
||||
},
|
||||
id: "t3", name: "Chris B.", date: "Aug 2023", title: "Highly Recommend", quote: "Paul never misses on the beard trim.", tag: "Regular", avatarSrc: ""},
|
||||
{
|
||||
id: "t4",
|
||||
name: "Ryan D.",
|
||||
date: "July 2023",
|
||||
title: "Great Staff",
|
||||
quote: "Friendly vibes and clean shop.",
|
||||
tag: "New",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-male-hairdresser-standing-black-armchair_23-2147839802.jpg",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pleased-slavic-middle-aged-male-barber-uniform-holding-barber-tools-isolated-purple-wall_141793-91610.jpg?_wi=2",
|
||||
imageAlt: "satisfied customer hair cut",
|
||||
},
|
||||
id: "t4", name: "Ryan D.", date: "July 2023", title: "Great Staff", quote: "Friendly vibes and clean shop.", tag: "New", avatarSrc: ""},
|
||||
{
|
||||
id: "t5",
|
||||
name: "Luke F.",
|
||||
date: "June 2023",
|
||||
title: "Excellent",
|
||||
quote: "Consistently great cuts and service.",
|
||||
tag: "Regular",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-man-getting-his-hair-washed_23-2148224417.jpg",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pleased-young-caucasian-male-barber-wearing-glasses-wavy-hair-band-uniform-doing-haircut-his-young-client_141793-98529.jpg?_wi=2",
|
||||
imageAlt: "satisfied customer hair cut",
|
||||
},
|
||||
id: "t5", name: "Luke F.", date: "June 2023", title: "Excellent", quote: "Consistently great cuts and service.", tag: "Regular", avatarSrc: ""},
|
||||
]}
|
||||
title="What Our Clients Say"
|
||||
description="See why our clients choose Paul Fox."
|
||||
@@ -275,20 +154,11 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
faqs={[
|
||||
{
|
||||
id: "f1",
|
||||
title: "Do I need an appointment?",
|
||||
content: "We recommend booking, but we accept walk-ins when available.",
|
||||
},
|
||||
id: "f1", title: "Do I need an appointment?", content: "We recommend booking, but we accept walk-ins when available."},
|
||||
{
|
||||
id: "f2",
|
||||
title: "What are your hours?",
|
||||
content: "We are open Tue-Sat: 9am-6pm. Closed Sun/Mon.",
|
||||
},
|
||||
id: "f2", title: "What are your hours?", content: "We are open Tue-Sat: 9am-6pm. Closed Sun/Mon."},
|
||||
{
|
||||
id: "f3",
|
||||
title: "Where are you located?",
|
||||
content: "Find us at 12 Barber Street, City Center.",
|
||||
},
|
||||
id: "f3", title: "Where are you located?", content: "Find us at 12 Barber Street, City Center."},
|
||||
]}
|
||||
title="Frequently Asked Questions"
|
||||
description="Answers to common queries."
|
||||
@@ -300,13 +170,11 @@ export default function LandingPage() {
|
||||
<ContactSplit
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "plain",
|
||||
}}
|
||||
variant: "plain"}}
|
||||
title="Get In Touch"
|
||||
description="Ready to look your best? Book a slot today."
|
||||
mediaAnimation="slide-up"
|
||||
tag="Bookings"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/man-with-glass-liquor-barbershop_23-2147737089.jpg"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -314,33 +182,21 @@ export default function LandingPage() {
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Navigation",
|
||||
items: [
|
||||
title: "Navigation", items: [
|
||||
{
|
||||
label: "Home",
|
||||
href: "#hero",
|
||||
},
|
||||
label: "Home", href: "#hero"},
|
||||
{
|
||||
label: "About",
|
||||
href: "#about",
|
||||
},
|
||||
label: "About", href: "#about"},
|
||||
{
|
||||
label: "Services",
|
||||
href: "#pricing",
|
||||
},
|
||||
label: "Services", href: "#pricing"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Info",
|
||||
items: [
|
||||
title: "Info", items: [
|
||||
{
|
||||
label: "Contact",
|
||||
href: "#contact",
|
||||
},
|
||||
label: "Contact", href: "#contact"},
|
||||
{
|
||||
label: "Privacy",
|
||||
href: "#",
|
||||
},
|
||||
label: "Privacy", href: "#"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
@@ -351,4 +207,4 @@ export default function LandingPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-dm-sans), sans-serif;
|
||||
font-family: var(--font-open-sans), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-manrope), sans-serif;
|
||||
font-family: var(--font-inter), sans-serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f5f4ef;
|
||||
--card: #dad6cd;
|
||||
--foreground: #2a2928;
|
||||
--primary-cta: #2a2928;
|
||||
--primary-cta-text: #f5f4ef;
|
||||
--secondary-cta: #ecebea;
|
||||
--secondary-cta-text: #2a2928;
|
||||
--accent: #ffffff;
|
||||
--background-accent: #c6b180;
|
||||
--background: #ffffff;
|
||||
--card: #f9f9f9;
|
||||
--foreground: #120006e6;
|
||||
--primary-cta: #e63946;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #f9f9f9;
|
||||
--secondary-cta-text: #120006e6;
|
||||
--accent: #e2e2e2;
|
||||
--background-accent: #c4c4c4;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user