38 Commits

Author SHA1 Message Date
b8fac0dabd Update src/app/blog/page.tsx 2026-05-26 17:33:55 +00:00
061eb5388b Update src/app/page.tsx 2026-05-26 17:33:19 +00:00
dd5450fcc4 Merge version_6 into main
Merge version_6 into main
2026-05-18 18:12:09 +00:00
006ae4c0cb Update src/app/page.tsx 2026-05-18 18:12:06 +00:00
ec4bd4997f Merge version_6 into main
Merge version_6 into main
2026-05-18 17:47:45 +00:00
4b23d62f73 Update src/app/layout.tsx 2026-05-18 17:47:42 +00:00
d1002474f3 Update src/app/favicon.ico 2026-05-18 17:47:41 +00:00
4f15a25670 Merge version_6 into main
Merge version_6 into main
2026-05-18 17:42:22 +00:00
8c3aab3959 Update src/app/page.tsx 2026-05-18 17:42:19 +00:00
4ef1da74af Merge version_6 into main
Merge version_6 into main
2026-05-18 17:42:18 +00:00
721b46cde2 Add src/app/blog/page.tsx 2026-05-18 17:42:12 +00:00
85e76d0978 Merge version_6 into main
Merge version_6 into main
2026-05-18 17:35:13 +00:00
b9ffc9d6a5 Update src/app/page.tsx 2026-05-18 17:35:10 +00:00
7aa5cd0464 Merge version_6 into main
Merge version_6 into main
2026-05-06 19:10:24 +00:00
68be6c90ca Update src/app/page.tsx 2026-05-06 19:10:21 +00:00
424fc1bda0 Merge version_6 into main
Merge version_6 into main
2026-05-06 19:08:41 +00:00
e7bdac001f Update theme fonts 2026-05-06 19:08:38 +00:00
0275050a84 Update theme fonts 2026-05-06 19:08:37 +00:00
d7b094f699 Merge version_6 into main
Merge version_6 into main
2026-05-06 19:08:04 +00:00
5c0e39ddb5 Update theme fonts 2026-05-06 19:08:01 +00:00
7be8de2298 Update theme fonts 2026-05-06 19:08:00 +00:00
b0e8fa1bcf Merge version_6 into main
Merge version_6 into main
2026-05-06 19:07:54 +00:00
4640a6ff8a Update theme fonts 2026-05-06 19:07:48 +00:00
7f44a844b7 Update theme fonts 2026-05-06 19:07:47 +00:00
a8c68f6bdc Merge version_6 into main
Merge version_6 into main
2026-05-06 19:05:03 +00:00
93dbd56af2 Update src/app/page.tsx 2026-05-06 19:05:00 +00:00
c2f5202634 Merge version_6 into main
Merge version_6 into main
2026-05-06 19:00:14 +00:00
f2d3be292c Update src/app/page.tsx 2026-05-06 19:00:11 +00:00
9a568791ce Merge version_6 into main
Merge version_6 into main
2026-05-06 18:50:53 +00:00
793e5a416f Update src/app/page.tsx 2026-05-06 18:50:50 +00:00
b527dc297e Merge version_5 into main
Merge version_5 into main
2026-05-06 18:47:31 +00:00
b0b6837332 Update src/app/page.tsx 2026-05-06 18:47:25 +00:00
9223dd8d40 Merge version_5 into main
Merge version_5 into main
2026-05-06 18:45:47 +00:00
46be4d6603 Update src/app/page.tsx 2026-05-06 18:45:44 +00:00
c60f83ccc0 Merge version_5 into main
Merge version_5 into main
2026-05-06 17:39:38 +00:00
07da201a60 Update src/app/page.tsx 2026-05-06 17:39:34 +00:00
31959fdcd7 Merge version_4 into main
Merge version_4 into main
2026-05-06 16:49:46 +00:00
54521600b1 Merge version_4 into main
Merge version_4 into main
2026-05-06 16:45:06 +00:00
5 changed files with 138 additions and 30 deletions

103
src/app/blog/page.tsx Normal file
View File

@@ -0,0 +1,103 @@
"use client";
import ReactLenis from "lenis/react";
import BlogCardOne from "@/components/sections/blog/BlogCardOne";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import { useBlogPosts } from "@/hooks/useBlogPosts";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import FooterMedia from '@/components/sections/footer/FooterMedia';
const bookingUrl = "/contact";
export default function BlogPage() {
const { posts, isLoading } = useBlogPosts();
return (
<ThemeProvider defaultButtonVariant="text-shift"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="largeSmallSizeLargeTitles"
background="none"
cardStyle="outline"
primaryButtonStyle="radial-glow"
secondaryButtonStyle="glass"
headingFontWeight="extrabold">
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay navItems={[
{
name: "Home", id: "hero"},
{
name: "Services", id: "services"},
{
name: "Prices", id: "pricing"},
{
name: "Contact", id: "contact"},
]}
brandName="Doc Barnet Grooming Salon"
button={{
text: "BOOK NOW", href: bookingUrl}} />
</div>
{isLoading ? (
<div className="w-content-width mx-auto py-20 text-center">
<p className="text-foreground">Loading posts...</p>
</div>
) : (
<div id="blog" data-section="blog">
<BlogCardOne
blogs={posts}
title="Latest Articles"
description="Stay updated with our latest insights"
textboxLayout="default"
useInvertedBackground={false}
carouselMode="buttons"
animationType="slide-up"
/>
</div>
)}
<div id="footer" data-section="footer">
<FooterMedia imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DMGxfgFdRWLXzYqe2HfYt6JE4x/uploaded-1778094604107-kwe3q62f.jpg"
logoText="DOC BARNET"
columns={[
{
title: "Services", items: [
{
label: "Gents Hair", href: "#services"},
{
label: "Ladies Cut", href: "#services"},
{
label: "Beard Grooming", href: "#services"},
],
},
{
title: "Company", items: [
{
label: "About Us", href: "#about"},
{
label: "Contact", href: "#contact"},
{
label: "Book Now", href: bookingUrl},
],
},
{
title: "Social", items: [
{
label: "Instagram", href: "https://www.instagram.com/docbarnet?igsh=MWMwdHBnamFibXc3Yw%3D%3D&utm_source=qr"},
{
label: "Facebook", href: "#"},
{
label: "Privacy Policy", href: "#"},
],
},
]} />
</div>
</ReactLenis>
</ThemeProvider>
);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -6,12 +6,13 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Public_Sans } from "next/font/google"; import { Public_Sans } from "next/font/google";
import { Roboto } from "next/font/google";
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Doc Barnet | Premium Grooming Salon Gloucester', title: "Doc Barnet Grooming Salon | Premium Barber & Hair Salon Gloucester Quays",
description: 'Experience premium barbering, ladies hair, and grooming at Doc Barnet Gloucester Quays. Now open.', description: "Luxury barbering, ladies hair, skin fades, beard grooming, and modern hair styling at Doc Barnet Grooming Salon in Gloucester Quays. EST. 2007. Book online today.",
openGraph: { openGraph: {
"title": "Doc Barnet Grooming Salon", "title": "Doc Barnet Grooming Salon",
"siteName": "Doc Barnet", "siteName": "Doc Barnet",
@@ -19,13 +20,13 @@ export const metadata: Metadata = {
}, },
}; };
const publicSans = Public_Sans({
variable: "--font-public-sans",
subsets: ["latin"],
}); const roboto = Roboto({
const inter = Inter({ variable: "--font-roboto",
variable: "--font-inter",
subsets: ["latin"], subsets: ["latin"],
weight: ["100", "300", "400", "500", "700", "900"],
}); });
export default function RootLayout({ export default function RootLayout({
@@ -36,7 +37,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${publicSans.variable} ${inter.variable} antialiased`}> <body className={`${roboto.variable} antialiased`}>
{children} {children}
<script <script

View File

@@ -14,6 +14,8 @@ import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen'; import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
export default function LandingPage() { export default function LandingPage() {
const bookingUrl = "https://tinyurl.com/2kr8jy37";
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="text-shift" defaultButtonVariant="text-shift"
@@ -39,10 +41,12 @@ export default function LandingPage() {
name: "Prices", id: "pricing"}, name: "Prices", id: "pricing"},
{ {
name: "Contact", id: "contact"}, name: "Contact", id: "contact"},
{ name: "Blog", id: "/blog" },
]} ]}
brandName="Doc Barnet Grooming Salon" brandName="Doc Barnet Grooming Salon"
button={{ button={{
text: "BOOK NOW", href: "#contact"}} text: "BOOK NOW", href: bookingUrl}}
/> />
</div> </div>
@@ -72,21 +76,21 @@ export default function LandingPage() {
]} ]}
buttons={[ buttons={[
{ {
text: "BOOK NOW", href: "#contact"}, text: "BOOK NOW", href: bookingUrl},
{ {
text: "VIEW PRICES", href: "#pricing"}, text: "VIEW PRICES", href: "#pricing"},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/close-up-details-hairdresser-salon_23-2149205856.jpg" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DMGxfgFdRWLXzYqe2HfYt6JE4x/uploaded-1778093237434-05qgab2c.jpg"
imageAlt="Doc Barnet Luxury Salon" imageAlt="Doc Barnet Luxury Salon"
avatars={[ avatars={[
{ {
src: "http://img.b2bpic.net/free-photo/shaving-process-small-dog-sits-table-dog-shaved-by-professional_1157-48807.jpg", alt: "Shaving process"}, src: "https://img.b2bpic.net/free-photo/high-fashion-portrait-young-elegant-blonde-woman-black-wool-hat-wearing-oversize-white-fringe-poncho-with-long-grey-dress_273443-3799.jpg?id=11195909", alt: "Shaving process"},
{ {
src: "http://img.b2bpic.net/free-photo/haircuting-process-small-dog-sits-table-dog-with-professional_1157-48820.jpg", alt: "Haircut process"}, src: "https://img.b2bpic.net/free-photo/fashion-studio-image-two-young-women-stylish-casual-spring-outfit-having-fun-show-tongue-bright-trendy-colors-stylish-hairstyle-with-buns-cool-sunglasses-friends-portrait_273443-1142.jpg?id=9331369", alt: "Haircut process"},
{ {
src: "http://img.b2bpic.net/free-photo/person-creating-online-content-with-their-pets_23-2151420269.jpg", alt: "Creative content"}, src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DMGxfgFdRWLXzYqe2HfYt6JE4x/uploaded-1779125338765-fdbqo198.jpg", alt: "Creative content"},
{ {
src: "http://img.b2bpic.net/free-photo/washing-process-small-dog-sits-table-dog-spaying-by-professional_1157-48817.jpg", alt: "Washing process"}, src: "https://img.b2bpic.net/free-photo/three-young-beautiful-smiling-girls-trendy-summer-casual-jeans-clothes-sexy-carefree-women-posing-positive-models-sunglasses_158538-4730.jpg?id=6601657", alt: "Washing process"},
{ {
src: "http://img.b2bpic.net/free-photo/handsome-afro-american-traveler-brown-jacket-hat-with-backpack-stands-studio-isolated-dark-background_613910-6586.jpg", alt: "Stylish traveler"}, src: "http://img.b2bpic.net/free-photo/handsome-afro-american-traveler-brown-jacket-hat-with-backpack-stands-studio-isolated-dark-background_613910-6586.jpg", alt: "Stylish traveler"},
]} ]}
@@ -131,9 +135,9 @@ export default function LandingPage() {
{ {
title: "Gents Haircuts", description: "Precision styling tailored to your unique look.", imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-fashionable-modern-male-grey-t-shirt_613910-532.jpg", imageAlt: "Gents Haircut"}, title: "Gents Haircuts", description: "Precision styling tailored to your unique look.", imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-fashionable-modern-male-grey-t-shirt_613910-532.jpg", imageAlt: "Gents Haircut"},
{ {
title: "Ladies Styling", description: "Wash, cut, and blow dry services for sophisticated style.", imageSrc: "http://img.b2bpic.net/free-photo/woman-with-hairdryer-hairbrush_1385-2900.jpg", imageAlt: "Ladies Styling"}, title: "Ladies Styling", description: "Wash, cut, and blow dry services for sophisticated style.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DMGxfgFdRWLXzYqe2HfYt6JE4x/tmp/hairstyle-holding-hair-drayer-1779125588683-ef4b646b.png", imageAlt: "Ladies Styling"},
{ {
title: "Beard & Facial", description: "Expert beard shaping, hot towel shaves, and facial treatments.", imageSrc: "http://img.b2bpic.net/free-photo/woman-helping-man-applying-facial-mask_23-2148784320.jpg", imageAlt: "Facial treatment"}, title: "Beard & Facial", description: "Expert beard shaping, hot towel shaves, and facial treatments.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DMGxfgFdRWLXzYqe2HfYt6JE4x/uploaded-1779127917991-ff4pbcfh.jpg", imageAlt: "Facial treatment"},
]} ]}
title="PREMIUM SERVICES" title="PREMIUM SERVICES"
description="Comprehensive grooming and hair solutions for gentlemen and ladies." description="Comprehensive grooming and hair solutions for gentlemen and ladies."
@@ -147,17 +151,17 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
plans={[ plans={[
{ {
id: "p1", badge: "Most Popular", price: 35", subtitle: "Premium Haircut & Styling", buttons: [ id: "p1", badge: "Most Popular", price: 19.99", subtitle: "Premium Haircut & Styling", buttons: [
{ {
text: "Book Now", href: "#contact"}, text: "Book Now", href: bookingUrl},
], ],
features: [ features: [
"Consultation", "Precision Cut", "Style Advice", "Finish"], "Consultation", "Precision Cut", "Style Advice", "Finish"],
}, },
{ {
id: "p2", badge: "Essential", price: 55", subtitle: "Cut, Wash & Blow Dry", buttons: [ id: "p2", badge: "Essential", price: 45", subtitle: "Cut, Wash & Blow Dry", buttons: [
{ {
text: "Book Now", href: "#contact"}, text: "Book Now", href: bookingUrl},
], ],
features: [ features: [
"Head Massage", "Professional Cut", "Styling"], "Head Massage", "Professional Cut", "Styling"],
@@ -165,7 +169,7 @@ export default function LandingPage() {
{ {
id: "p3", badge: "Luxury", price: "£85", subtitle: "Balayage & Treatment", buttons: [ id: "p3", badge: "Luxury", price: "£85", subtitle: "Balayage & Treatment", buttons: [
{ {
text: "Book Now", href: "#contact"}, text: "Book Now", href: bookingUrl},
], ],
features: [ features: [
"Consultation", "Expert Colour", "Treatment", "Finish"], "Consultation", "Expert Colour", "Treatment", "Finish"],
@@ -249,7 +253,7 @@ export default function LandingPage() {
variant: "gradient-bars"}} variant: "gradient-bars"}}
tag="LIMITED OFFER" tag="LIMITED OFFER"
title="20% OFF YOUR FIRST VISIT" title="20% OFF YOUR FIRST VISIT"
description="Join our club and enjoy premium grooming at a special introductory rate." description="TUSDAY ONLY CODE: DOCBARNET20 "
/> />
</div> </div>
@@ -275,7 +279,7 @@ export default function LandingPage() {
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/minimalist-background_23-2151967093.jpg" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DMGxfgFdRWLXzYqe2HfYt6JE4x/uploaded-1778094604107-kwe3q62f.jpg"
logoText="DOC BARNET" logoText="DOC BARNET"
columns={[ columns={[
{ {
@@ -295,13 +299,13 @@ export default function LandingPage() {
{ {
label: "Contact", href: "#contact"}, label: "Contact", href: "#contact"},
{ {
label: "Book Now", href: "#contact"}, label: "Book Now", href: bookingUrl},
], ],
}, },
{ {
title: "Social", items: [ title: "Social", items: [
{ {
label: "Instagram", href: "#"}, label: "Instagram", href: "https://www.instagram.com/docbarnet?igsh=MWMwdHBnamFibXc3Yw%3D%3D&utm_source=qr"},
{ {
label: "Facebook", href: "#"}, label: "Facebook", href: "#"},
{ {

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-inter), sans-serif; font-family: var(--font-roboto), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-public-sans), sans-serif; font-family: var(--font-roboto), sans-serif;
} }