9 Commits

Author SHA1 Message Date
b81536e9bc Update src/app/menu/page.tsx 2026-04-23 09:14:04 +00:00
7bc1c1d006 Update src/app/contact/page.tsx 2026-04-23 09:14:04 +00:00
19169a50ef Update src/app/menu/page.tsx 2026-04-23 09:13:35 +00:00
589c7be53a Update src/app/contact/page.tsx 2026-04-23 09:13:34 +00:00
20801f7046 Update src/app/styles/variables.css 2026-04-23 09:13:02 +00:00
3ef2337d93 Update src/app/page.tsx 2026-04-23 09:13:01 +00:00
1e7ebdc58d Add src/app/menu/page.tsx 2026-04-23 09:13:01 +00:00
bfe0cf85b5 Add src/app/contact/page.tsx 2026-04-23 09:13:00 +00:00
1df66407dc Merge version_2 into main
Merge version_2 into main
2026-04-20 08:56:06 +00:00
4 changed files with 168 additions and 37 deletions

76
src/app/contact/page.tsx Normal file
View File

@@ -0,0 +1,76 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactSplit from '@/components/sections/contact/ContactSplit';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function ContactPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="largeSmallSizeLargeTitles"
background="none"
cardStyle="glass-depth"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "/#services" },
{ name: "Experience", id: "/#experience" },
{ name: "Contact", id: "/contact" },
]}
brandName="Jeff & Company"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
tag="Contact Us"
title="Book Your Appointment"
description="Ready to treat your pet? Reach out to us today and schedule a grooming session in our calm, professional salon."
background={{ variant: "plain" }}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/lifestyle-portrait-handsome-smiling-man-sitting-pet-friendly-cafe-with-his-beautiful-dog-petting-golden-retriever-waiting-order_1258-314442.jpg"
onSubmit={(email) => console.log("New Lead:", email)}
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/high-angle-woman-washing-dog_23-2149872954.jpg?_wi=2"
logoText="Jeff & Company Grooming"
columns={[
{
title: "Contact", items: [
{ label: "Greystoke Dr, Ruislip", href: "#" },
{ label: "07598 206450", href: "tel:07598206450" },
],
},
{
title: "Opening Hours", items: [
{ label: "Mon-Fri: 9am-5pm", href: "#" },
{ label: "Sat: 9am-5pm", href: "#" },
],
},
{
title: "Follow", items: [
{ label: "Instagram", href: "#" },
],
},
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

73
src/app/menu/page.tsx Normal file
View File

@@ -0,0 +1,73 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function MenuPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="largeSmallSizeLargeTitles"
background="none"
cardStyle="glass-depth"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{ name: "Home", id: "/" },
{ name: "Menu", id: "#menu" },
{ name: "Contact", id: "/#contact" },
]}
brandName="Jeff & Company"
/>
</div>
<div id="menu" data-section="menu">
<PricingCardEight
animationType="slide-up"
title="Our Menu & Pricing"
description="Explore our grooming packages tailored to your pet's needs."
textboxLayout="default"
useInvertedBackground={false}
plans={[
{
id: "1", badge: "Basic", price: "£35", subtitle: "Bath & Brush", features: ["Deep clean bath", "Gentle brush out", "Nail trim", "Ear cleaning"],
buttons: [{ text: "Book Now", href: "/#contact" }]
},
{
id: "2", badge: "Popular", price: "£55", subtitle: "Full Groom", features: ["Full bath & dry", "Breed specific haircut", "Nail trim", "Ear cleaning", "Sanitary trim"],
buttons: [{ text: "Book Now", href: "/#contact" }]
},
{
id: "3", badge: "Premium", price: "£65", subtitle: "The Works", features: ["Full groom package", "Dematting treatment", "Teeth brushing", "Paw balm", "Luxury fragrance"],
buttons: [{ text: "Book Now", href: "/#contact" }]
}
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/high-angle-woman-washing-dog_23-2149872954.jpg?_wi=1"
logoText="Jeff & Company Grooming"
columns={[
{ title: "Contact", items: [{ label: "Greystoke Dr, Ruislip", href: "#" }, { label: "07598 206450", href: "tel:07598206450" }] },
{ title: "Opening Hours", items: [{ label: "Mon-Fri: 9am-5pm", href: "#" }, { label: "Sat: 9am-5pm", href: "#" }] },
{ title: "Follow", items: [{ label: "Instagram", href: "#" }] }
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -53,7 +53,7 @@ export default function LandingPage() {
tag="⭐ 5.0 Rated Grooming Service" tag="⭐ 5.0 Rated Grooming Service"
buttons={[ buttons={[
{ {
text: "Book Now", href: "#contact"}, text: "Book Now", href: "/contact"},
{ {
text: "Call Now (07598 206450)", href: "tel:07598206450"}, text: "Call Now (07598 206450)", href: "tel:07598206450"},
]} ]}
@@ -112,12 +112,9 @@ export default function LandingPage() {
title="A Calmer Approach" title="A Calmer Approach"
description="We focus on a calm, patient, one-to-one approach ensuring every pet feels safe and cared for. Our salon provides a quiet environment, ideal for nervous or first-time pets." description="We focus on a calm, patient, one-to-one approach ensuring every pet feels safe and cared for. Our salon provides a quiet environment, ideal for nervous or first-time pets."
metrics={[ metrics={[
{ { value: "1-to-1", title: "Appointments" },
value: "1-to-1", title: "Appointments"}, { value: "Calm", title: "Environment" },
{ { value: "Expert", title: "Personalized" },
value: "Calm", title: "Environment"},
{
value: "Expert", title: "Personalized"},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/empty-wintertime-luxury-ski-resort_482257-102290.jpg" imageSrc="http://img.b2bpic.net/free-photo/empty-wintertime-luxury-ski-resort_482257-102290.jpg"
imageAlt="pet groomer calm atmosphere" imageAlt="pet groomer calm atmosphere"
@@ -166,19 +163,9 @@ export default function LandingPage() {
]} ]}
title="Give Your Pet the Care They Deserve" title="Give Your Pet the Care They Deserve"
description="Book today and experience a professional grooming service trusted by local owners." description="Book today and experience a professional grooming service trusted by local owners."
/> buttons={[
</div> { text: "Book Now", href: "/contact" }
]}
<div id="contact" data-section="contact">
<ContactSplit
useInvertedBackground={false}
background={{
variant: "plain"}}
tag="Visit Us"
title="Book Your Appointment"
description="Greystoke Dr, Ruislip HA4 7YN. Open daily until 5pm. Call us to book."
imageSrc="http://img.b2bpic.net/free-photo/lifestyle-portrait-handsome-smiling-man-sitting-pet-friendly-cafe-with-his-beautiful-dog-petting-golden-retriever-waiting-order_1258-314442.jpg"
mediaAnimation="slide-up"
/> />
</div> </div>
@@ -189,24 +176,19 @@ export default function LandingPage() {
columns={[ columns={[
{ {
title: "Contact", items: [ title: "Contact", items: [
{ { label: "Greystoke Dr, Ruislip", href: "#" },
label: "Greystoke Dr, Ruislip", href: "#"}, { label: "07598 206450", href: "tel:07598206450" },
{
label: "07598 206450", href: "tel:07598206450"},
], ],
}, },
{ {
title: "Opening Hours", items: [ title: "Opening Hours", items: [
{ { label: "Mon-Fri: 9am-5pm", href: "#" },
label: "Mon-Fri: 9am-5pm", href: "#"}, { label: "Sat: 9am-5pm", href: "#" },
{
label: "Sat: 9am-5pm", href: "#"},
], ],
}, },
{ {
title: "Follow", items: [ title: "Follow", items: [
{ { label: "Instagram", href: "#" },
label: "Instagram", href: "#"},
], ],
}, },
]} ]}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #fcf6ec; --background: #fdfbf7;
--card: #f3ede2; --card: #f4efe9;
--foreground: #2e2521; --foreground: #3d3227;
--primary-cta: #2b180a; --primary-cta: #8b5e3c;
--primary-cta-text: #fcf6ec; --primary-cta-text: #fcf6ec;
--secondary-cta: #efe7dd; --secondary-cta: #e4d9ce;
--secondary-cta-text: #2e2521; --secondary-cta-text: #2e2521;
--accent: #b2a28b; --accent: #d4c5b9;
--background-accent: #b2a28b; --background-accent: #f4efe9;
/* 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);