10 Commits

Author SHA1 Message Date
f1bf2845f1 Update src/app/page.tsx 2026-04-28 16:04:10 +00:00
fedaaad90b Update src/app/styles/variables.css 2026-04-28 16:03:43 +00:00
4395e5011c Update src/app/page.tsx 2026-04-28 16:03:43 +00:00
cc9e6057d5 Switch to version 1: modified src/app/page.tsx 2026-04-28 16:02:49 +00:00
d89940f2ee Switch to version 2: modified src/app/styles/variables.css 2026-04-28 16:02:42 +00:00
3805079f38 Switch to version 2: modified src/app/page.tsx 2026-04-28 16:02:42 +00:00
9a8319f510 Merge version_3 into main
Merge version_3 into main
2026-04-28 16:00:28 +00:00
629a268ac2 Update src/app/styles/variables.css 2026-04-28 16:00:25 +00:00
9629e48922 Update src/app/page.tsx 2026-04-28 16:00:25 +00:00
7b8cfc1227 Merge version_2 into main
Merge version_2 into main
2026-04-28 10:54:47 +00:00
2 changed files with 57 additions and 101 deletions

View File

@@ -4,10 +4,11 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import FaqDouble from '@/components/sections/faq/FaqDouble'; import FaqDouble from '@/components/sections/faq/FaqDouble';
import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern'; import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern';
import FooterCard from '@/components/sections/footer/FooterCard'; import FooterBase from '@/components/sections/footer/FooterBase';
import HeroCentered from '@/components/sections/hero/HeroCentered'; import HeroCentered from '@/components/sections/hero/HeroCentered';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne'; import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import { Palette, Scissors, Sparkles, Sun } from "lucide-react"; import { Palette, Scissors, Sparkles, Sun } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
@@ -19,7 +20,7 @@ export default function LandingPage() {
contentWidth="small" contentWidth="small"
sizing="mediumLargeSizeMediumTitles" sizing="mediumLargeSizeMediumTitles"
background="grid" background="grid"
cardStyle="solid" cardStyle="glass-depth"
primaryButtonStyle="flat" primaryButtonStyle="flat"
secondaryButtonStyle="solid" secondaryButtonStyle="solid"
headingFontWeight="semibold" headingFontWeight="semibold"
@@ -28,60 +29,28 @@ export default function LandingPage() {
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={[
{ { name: "Gallery", id: "/gallery" },
name: "Gallery", id: "/gallery"}, { name: "Services", id: "/services" },
{ { name: "Book Online", id: "/book" },
name: "Services", id: "/services"}, { name: "Contact", id: "/contact" },
{ { name: "About", id: "/about" },
name: "Book Online", id: "/book"},
{
name: "Contact", id: "/contact"},
{
name: "About", id: "/about"},
]} ]}
brandName="Flamingo Hair & Beauty" brandName="Flamingo Hair & Beauty"
button={{ button={{ text: "Book Now", href: "/book" }}
text: "Book Now", href: "/book"}}
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroCentered <HeroCentered
background={{ background={{ variant: "gradient-bars" }}
variant: "gradient-bars"}}
title="Feel amazing, every single visit." title="Feel amazing, every single visit."
description="Premium hair & beauty treatments right here in Malvern East, Germiston. We're all about making you look stunning — and feel right at home. Generate your dream look with our AI imaging tools." description="Premium hair & beauty treatments right here in Malvern East, Germiston. We're all about making you look stunning — and feel right at home."
avatars={[ avatars={[
{ { src: "http://img.b2bpic.net/free-photo/team-bride-celebrating-before-wedding_23-2149329119.jpg", alt: "Client" },
src: "http://img.b2bpic.net/free-photo/team-bride-celebrating-before-wedding_23-2149329119.jpg", alt: "Client"}, { src: "http://img.b2bpic.net/free-photo/gardening-tools_23-2148013407.jpg", alt: "Client" },
{ { src: "http://img.b2bpic.net/free-photo/young-woman-talking-phone-with-big-smile_1153-10.jpg", alt: "Client" },
src: "http://img.b2bpic.net/free-photo/gardening-tools_23-2148013407.jpg", alt: "Client"},
{
src: "http://img.b2bpic.net/free-photo/young-woman-talking-phone-with-big-smile_1153-10.jpg", alt: "Client"},
{
src: "http://img.b2bpic.net/free-photo/portrait-attractive-young-woman-smiling_273609-12421.jpg", alt: "Client"},
{
src: "http://img.b2bpic.net/free-photo/portrait-smiling-young-woman-hair-stylist_23-2148113070.jpg", alt: "Happy client portrait"},
]}
buttons={[
{
text: "Generate Your Style", onClick: () => console.log("AI Image generation trigger"),
},
{
text: "Book your appointment", href: "/book"},
]}
marqueeItems={[
{
type: "text", text: "Expert Stylists"},
{
type: "text", text: "AI-Powered Visuals"},
{
type: "text", text: "Friendly Atmosphere"},
{
type: "text", text: "Locally Owned"},
{
type: "text", text: "Results Driven"},
]} ]}
buttons={[{ text: "Book your appointment", href: "/book" }]}
/> />
</div> </div>
@@ -91,49 +60,39 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ { icon: Scissors, title: "Hair colour & highlights", description: "Balayage, full colour, ombre and everything in between." },
icon: Scissors, { icon: Sparkles, title: "Cut & blowdry", description: "A classic done really well." },
title: "Hair colour & highlights", description: "Balayage, full colour, ombre and everything in between. From R450."}, { icon: Palette, title: "Gel nails & nail art", description: "Gel, acrylic or natural nails." },
{ { icon: Sun, title: "Facials & skin care", description: "Relaxing, results-driven facials." },
icon: Sparkles,
title: "Cut & blowdry", description: "A classic done really well. From R220."},
{
icon: Palette,
title: "Gel nails & nail art", description: "Gel, acrylic or natural nails. Custom art. From R180."},
{
icon: Sun,
title: "Facials & skin care", description: "Relaxing, results-driven facials tailored to you. From R280."},
]} ]}
title="Premium Beauty Services" title="Premium Beauty Services"
description="Explore our top-tier treatments, from precision haircuts to revitalizing skin care." description="Explore our top-tier treatments."
/> />
</div> </div>
<div id="testimonials" data-section="testimonials"> <div id="testimonials" data-section="testimonials">
<TestimonialCardOne <TestimonialCardTwo
animationType="slide-up" animationType="blur-reveal"
textboxLayout="default" textboxLayout="default"
gridVariant="three-columns-all-equal-width" useInvertedBackground={true}
useInvertedBackground={false} cardClassName="border border-white/20 bg-white/10 backdrop-blur-xl"
testimonials={[
{
id: "1", name: "Tania Dos Santos", role: "Client", company: "Flamingo Beauty", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-business-woman-smiling_23-2148352574.jpg"},
{
id: "2", name: "Dorothea Claassen", role: "Client", company: "Flamingo Beauty", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-posing-with-photo-tape-red-background_114579-60942.jpg"},
{
id: "3", name: "Fiona Brown", role: "Client", company: "Flamingo Beauty", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-pretty-woman-outdoor_624325-770.jpg"},
{
id: "4", name: "Sarah Miller", role: "Client", company: "Flamingo Beauty", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-successful-agent-satisfied-customer-showing-thumb-up-while-sitting-table-using-tablet-together_74855-10029.jpg"},
{
id: "5", name: "Jane Doe", role: "Client", company: "Flamingo Beauty", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg"},
]}
title="What our clients say" title="What our clients say"
description="Real feedback from our wonderful Malvern East community." description="Real feedback from our wonderful community."
testimonials={[
{ id: "1", name: "Tania Dos Santos", role: "Client", testimonial: "Absolutely stunning results every single time!" },
{ id: "2", name: "Fiona Brown", role: "Client", testimonial: "The atmosphere is so relaxing and professional." },
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
tag="Book Now"
title="Ready to glow?"
description="Visit us in Malvern East or book your slot online for a glowing experience. We use premium products for premium results."
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={false}
className="border-t border-accent/30 bg-black/5"
/> />
</div> </div>
@@ -141,26 +100,23 @@ export default function LandingPage() {
<FaqDouble <FaqDouble
textboxLayout="default" textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
title="Frequently Asked Questions" title="Questions?"
description="Everything you need to know about your next appointment." description="We're happy to answer anything you might be wondering about."
faqsAnimation="slide-up" faqsAnimation="slide-up"
faqs={[ faqs={[
{ { id: "f1", title: "How do I book?", content: "Use our online link." },
id: "f1", title: "How do I book an appointment?", content: "You can book directly through our online booking link or call us during business hours."}, { id: "f2", title: "Hours?", content: "Mon-Sat, 09:00-18:00." },
{
id: "f2", title: "What are your operating hours?", content: "We are open Monday to Saturday from 09:00 to 18:00."},
{
id: "f3", title: "Do you offer gift cards?", content: "Yes, digital and physical gift cards are available in-store."},
{
id: "f4", title: "Can I bring a friend?", content: "We have a comfortable lounge area for guests to wait during your treatment."},
]} ]}
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterCard <FooterBase
logoText="Flamingo Hair & Beauty" logoText="Flamingo Hair & Beauty"
copyrightText="© 2026 Flamingo Hair & Beauty · All rights reserved." columns={[
{ title: "Links", items: [{ label: "Home", href: "/" }, { label: "Gallery", href: "/gallery" }] },
{ title: "Support", items: [{ label: "Contact", href: "/contact" }, { label: "FAQ", href: "/faq" }] }
]}
/> />
</div> </div>
</ReactLenis> </ReactLenis>

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #FBEAF0; --background: #0a0a0a;
--card: #ffffff; --card: #1a1a1a;
--foreground: #2b180a; --foreground: #ffffff;
--primary-cta: #D4537E; --primary-cta: #106EFB;
--primary-cta-text: #ffffff; --primary-cta-text: #ffffff;
--secondary-cta: #993556; --secondary-cta: #141414;
--secondary-cta-text: #ffffff; --secondary-cta-text: #ffffff;
--accent: #ED93B1; --accent: #FFD700;
--background-accent: #f9f1f4; --background-accent: #C0C0C0;
/* 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);