14 Commits

Author SHA1 Message Date
0231217c73 Update src/app/page.tsx 2026-04-23 09:18:39 +00:00
34771ec8df Update src/app/page.tsx 2026-04-23 09:18:06 +00:00
e33aae3dcf Update src/app/page.tsx 2026-04-23 09:17:34 +00:00
7e4b9e03c0 Switch to version 3: modified src/app/styles/variables.css 2026-04-23 09:14:46 +00:00
a868e1c813 Switch to version 3: modified src/app/page.tsx 2026-04-23 09:14:46 +00:00
e354e3686b Switch to version 3: added src/app/menu/page.tsx 2026-04-23 09:14:45 +00:00
2d3aec15cd Switch to version 3: added src/app/contact/page.tsx 2026-04-23 09:14:45 +00:00
ba80fb46c2 Switch to version 2: remove src/app/menu/page.tsx 2026-04-23 09:14:39 +00:00
9e8fddeeb9 Switch to version 2: remove src/app/contact/page.tsx 2026-04-23 09:14:38 +00:00
7a9811a32a Switch to version 2: modified src/app/styles/variables.css 2026-04-23 09:14:38 +00:00
17fd79c534 Switch to version 2: modified src/app/page.tsx 2026-04-23 09:14:37 +00:00
3c79a49e3f Merge version_3 into main
Merge version_3 into main
2026-04-23 09:14:07 +00:00
09efa56711 Merge version_3 into main
Merge version_3 into main
2026-04-23 09:13:38 +00:00
00a5600935 Merge version_3 into main
Merge version_3 into main
2026-04-23 09:13:05 +00:00

View File

@@ -2,16 +2,14 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import ContactSplit from '@/components/sections/contact/ContactSplit'; import FeatureCardSeven from '@/components/sections/feature/FeatureCardSeven';
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne'; import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import HeroBillboardScroll from '@/components/sections/hero/HeroBillboardScroll'; import HeroBillboardScroll from '@/components/sections/hero/HeroBillboardScroll';
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven'; import AboutMetric from '@/components/sections/about/AboutMetric';
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ProductCardOne from '@/components/sections/product/ProductCardOne'; import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo'; import ContactText from '@/components/sections/contact/ContactText';
import { Star } from "lucide-react"; import { Star, MapPin, Phone } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
@@ -31,14 +29,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleCentered <NavbarStyleCentered
navItems={[ navItems={[
{ { name: "Home", id: "hero" },
name: "Home", id: "hero"}, { name: "About", id: "experience" },
{ { name: "Services", id: "services" },
name: "Services", id: "services"}, { name: "Contact", id: "contact" },
{
name: "Experience", id: "experience"},
{
name: "Contact", id: "contact"},
]} ]}
brandName="Jeff & Company" brandName="Jeff & Company"
/> />
@@ -46,16 +40,13 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardScroll <HeroBillboardScroll
background={{ background={{ variant: "plain" }}
variant: "plain"}}
title="Jeff & Company Grooming" title="Jeff & Company Grooming"
description="Calm, Gentle Grooming Your Pet Will Love. A trusted, 5-star grooming experience designed to keep your pet relaxed, comfortable, and looking their best." description="Calm, Gentle Grooming Your Pet Will Love. A trusted, 5-star grooming experience designed to keep your pet relaxed, comfortable, and looking their best."
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", href: "tel:07598206450" },
{
text: "Call Now (07598 206450)", href: "tel:07598206450"},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/adorable-pet-enjoying-spa-day-illustration_23-2151841570.jpg" imageSrc="http://img.b2bpic.net/free-photo/adorable-pet-enjoying-spa-day-illustration_23-2151841570.jpg"
imageAlt="Professional pet groomer smiling with a happy groomed dog" imageAlt="Professional pet groomer smiling with a happy groomed dog"
@@ -63,134 +54,64 @@ export default function LandingPage() {
/> />
</div> </div>
<div id="trust" data-section="trust"> <div id="experience" data-section="experience">
<TestimonialCardTwo <AboutMetric
animationType="slide-up" title="About Our Gentle Approach"
textboxLayout="default" metrics={[
useInvertedBackground={false} { icon: Star, label: "Rating", value: "5.0 Star" },
testimonials={[ { icon: MapPin, label: "Location", value: "Ruislip" },
{ { icon: Phone, label: "Support", value: "07598 206450" },
id: "1", name: "Sarah J.", role: "Puppy Owner", testimonial: "A paw-fect experience for my puppys first groom.", imageSrc: "http://img.b2bpic.net/free-photo/lovely-pet-portrait-isolated_23-2149192309.jpg"},
{
id: "2", name: "Mark D.", role: "Client", testimonial: "So patient, caring, and professional.", imageSrc: "http://img.b2bpic.net/free-photo/sideways-portrait-chinese-crested-puppy-with-copy-space-background_23-2148326286.jpg"},
{
id: "3", name: "Emily P.", role: "Pet Owner", testimonial: "Jeff is wonderful with my anxious dog, highly recommend!", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-yorkshire-dog_23-2151779155.jpg"},
{
id: "4", name: "Laura K.", role: "Regular Client", testimonial: "Excellent service every time, very happy.", imageSrc: "http://img.b2bpic.net/free-photo/lovely-pet-portrait-isolated_23-2149192304.jpg"},
{
id: "5", name: "David W.", role: "Client", testimonial: "Truly the best local grooming experience.", imageSrc: "http://img.b2bpic.net/free-photo/man-playing-with-his-toy-poodle_23-2147840145.jpg"},
]} ]}
title="Trusted by Pet Owners" metricsAnimation="slide-up"
description="Trusted by pet owners across Ruislip for safe, stress-free grooming." useInvertedBackground={false}
/> />
</div> </div>
<div id="services" data-section="services"> <div id="services" data-section="services">
<FeatureCardOne <FeatureCardSeven
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="split"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false} useInvertedBackground={false}
features={[
{
title: "Full Groom", description: "A complete service including wash, cut, blow-dry, and styling.", imageSrc: "http://img.b2bpic.net/free-vector/several-flat-pet-store-elements_23-2147569069.jpg", imageAlt: "pet grooming dog clean"},
{
title: "Puppy Pamper", description: "A gentle introduction to grooming for first-time visits.", imageSrc: "http://img.b2bpic.net/free-photo/woman-holding-cute-dog-close-up_23-2148949388.jpg", imageAlt: "puppy bath time gentle"},
{
title: "Maintenance Groom", description: "Keep your pet clean and comfortable between full grooms.", imageSrc: "http://img.b2bpic.net/free-photo/yorkshire-terrier-getting-procedure-groomer-salon-young-woman-white-tshirt-combing-little-dog-yorkshire-terrier-puppy-blue-table_1157-51439.jpg", imageAlt: "dog grooming maintenance"},
{
title: "Bath & Brush", description: "A quick refresh to keep coats clean and healthy.", imageSrc: "http://img.b2bpic.net/free-photo/haircuting-process-small-dog-sits-table-dog-with-professional_1157-48819.jpg", imageAlt: "pet grooming dog clean"},
]}
title="Our Services" title="Our Services"
description="Comprehensive grooming solutions for every pet's needs." description="Comprehensive, stress-free grooming packages tailored to your pet's temperament."
/> features={[
</div> { title: "Full Groom", description: "Complete wash, cut, and style.", imageSrc: "http://img.b2bpic.net/free-vector/several-flat-pet-store-elements_23-2147569069.jpg" },
{ title: "Puppy Pamper", description: "Gentle introduction for new pets.", imageSrc: "http://img.b2bpic.net/free-photo/woman-holding-cute-dog-close-up_23-2148949388.jpg" },
<div id="experience" data-section="experience"> { title: "Maintenance", description: "Keep them clean between grooms.", imageSrc: "http://img.b2bpic.net/free-photo/yorkshire-terrier-getting-procedure-groomer-salon-young-woman-white-tshirt-combing-little-dog-yorkshire-terrier-puppy-blue-table_1157-51439.jpg" },
<MetricSplitMediaAbout
useInvertedBackground={false}
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."
metrics={[
{ value: "1-to-1", title: "Appointments" },
{ value: "Calm", title: "Environment" },
{ value: "Expert", title: "Personalized" },
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/empty-wintertime-luxury-ski-resort_482257-102290.jpg"
imageAlt="pet groomer calm atmosphere"
mediaAnimation="slide-up"
metricsAnimation="slide-up"
/> />
</div> </div>
<div id="gallery" data-section="gallery"> <div id="trust" data-section="trust">
<ProductCardOne <TestimonialCardSix
animationType="slide-up" animationType="slide-up"
textboxLayout="default" title="What Pet Owners Say"
gridVariant="one-large-left-three-stacked-right" description="Hear from our happy clients about their experiences."
textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
products={[ testimonials={[
{ { id: "1", name: "Sarah J.", handle: "@puppyowner", testimonial: "The best grooming experience in Ruislip!" },
id: "1", name: "Before & After", price: "Groomed", imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-bearded-brutal-tattooed-happy-man-holds-pomeranian-spitz-playing-with-lovely-pet_343596-1531.jpg"}, { id: "2", name: "Mark D.", handle: "@client", testimonial: "So patient with my nervous dog." },
{
id: "2", name: "Styling", price: "Groomed", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-with-cute-dog_23-2148949395.jpg"},
{
id: "3", name: "Puppy Cut", price: "Groomed", imageSrc: "http://img.b2bpic.net/free-photo/close-up-outdoor-portrait-smiling-girl-with-dark-brown-hair-holding-beagle-dog_197531-4837.jpg"},
{
id: "4", name: "Coat Trim", price: "Groomed", imageSrc: "http://img.b2bpic.net/free-photo/woman-s-hand-holding-hat-prop-pug-dog-s-head_23-2147841035.jpg"},
{
id: "5", name: "Full Refresh", price: "Groomed", imageSrc: "http://img.b2bpic.net/free-photo/stylish-pin-up-girl-with-little-dog_1157-18893.jpg"},
{
id: "6", name: "Healthy Coat", price: "Groomed", imageSrc: "http://img.b2bpic.net/free-photo/vertical-portrait-adorable-mixed-breed-dog-blue-wall_181624-35866.jpg"},
]} ]}
title="Happy Pets, Beautiful Results"
description="Take a look at some of our recent grooms and see the care and attention we provide."
/> />
</div> </div>
<div id="cta" data-section="cta"> <div id="contact" data-section="contact">
<MetricCardEleven <ContactText
animationType="slide-up" text="Ready to pamper your pet? Book your appointment today and see the difference a calm, loving touch makes."
textboxLayout="default" background={{ variant: "plain" }}
buttons={[{ text: "Call 07598 206450", href: "tel:07598206450" }]}
useInvertedBackground={false} useInvertedBackground={false}
metrics={[
{
id: "1", value: "5.0", title: "Rating", description: "Highly Rated", imageSrc: "http://img.b2bpic.net/free-photo/lovely-pet-portrait-isolated_23-2149192305.jpg"},
{
id: "2", value: "Mon-Fri", title: "Hours", description: "9am-5pm", imageSrc: "http://img.b2bpic.net/free-photo/rough-collie-looking-side_181624-45167.jpg"},
{
id: "3", value: "Local", title: "Business", description: "Ruislip Based", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-cute-shih-tzu-dog-red-background_181624-25315.jpg"},
]}
title="Give Your Pet the Care They Deserve"
description="Book today and experience a professional grooming service trusted by local owners."
buttons={[
{ text: "Book Now", href: "/contact" }
]}
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterMedia <FooterBaseReveal
imageSrc="http://img.b2bpic.net/free-photo/high-angle-woman-washing-dog_23-2149872954.jpg" logoText="Jeff & Company"
logoText="Jeff & Company Grooming"
columns={[ columns={[
{ { title: "Location", items: [{ label: "Ruislip, Greater London", href: "#" }] },
title: "Contact", items: [ { title: "Contact", items: [{ label: "07598 206450", href: "tel:07598206450" }] },
{ label: "Greystoke Dr, Ruislip", href: "#" }, { title: "Hours", items: [{ label: "Mon-Fri: 9-5", 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> </div>