Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 629a268ac2 | |||
| 9629e48922 | |||
| 7b8cfc1227 |
136
src/app/page.tsx
136
src/app/page.tsx
@@ -7,7 +7,7 @@ import FeatureHoverPattern from '@/components/sections/feature/featureHoverPatte
|
|||||||
import FooterCard from '@/components/sections/footer/FooterCard';
|
import FooterCard from '@/components/sections/footer/FooterCard';
|
||||||
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 TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
|
||||||
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,68 +19,41 @@ export default function LandingPage() {
|
|||||||
contentWidth="small"
|
contentWidth="small"
|
||||||
sizing="mediumLargeSizeMediumTitles"
|
sizing="mediumLargeSizeMediumTitles"
|
||||||
background="grid"
|
background="grid"
|
||||||
cardStyle="solid"
|
cardStyle="glass-elevated"
|
||||||
primaryButtonStyle="flat"
|
primaryButtonStyle="primary-glow"
|
||||||
secondaryButtonStyle="solid"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="semibold"
|
headingFontWeight="bold"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<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. Experience futuristic luxury and AI-driven precision."
|
||||||
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/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" },
|
||||||
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={[
|
buttons={[
|
||||||
{
|
{ text: "Generate Your Style", onClick: () => console.log("AI Image generation trigger") },
|
||||||
text: "Generate Your Style", onClick: () => console.log("AI Image generation trigger"),
|
{ text: "Book Appointment", href: "/book" },
|
||||||
},
|
|
||||||
{
|
|
||||||
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"},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -89,20 +62,12 @@ export default function LandingPage() {
|
|||||||
<FeatureHoverPattern
|
<FeatureHoverPattern
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
textboxLayout="split"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={true}
|
||||||
features={[
|
features={[
|
||||||
{
|
{ icon: Scissors, title: "Hair Colour & Highlights", description: "High-precision balayage, full colour, and ombre styling.", button: { text: "Book", href: "/book" } },
|
||||||
icon: Scissors,
|
{ icon: Sparkles, title: "Precision Cut & Blowdry", description: "Iconic styles designed for your unique features.", button: { text: "Book", href: "/book" } },
|
||||||
title: "Hair colour & highlights", description: "Balayage, full colour, ombre and everything in between. From R450."},
|
{ icon: Palette, title: "Luxury Nails & Art", description: "High-fashion gel and acrylic artistry.", button: { text: "Book", href: "/book" } },
|
||||||
{
|
{ icon: Sun, title: "Signature Facials", description: "Revitalizing, results-driven skin care luxury.", button: { text: "Book", href: "/book" } },
|
||||||
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, from precision haircuts to revitalizing skin care."
|
||||||
@@ -110,49 +75,32 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
<div id="testimonials" data-section="testimonials">
|
||||||
<TestimonialCardOne
|
<TestimonialCardSix
|
||||||
animationType="slide-up"
|
animationType="blur-reveal"
|
||||||
textboxLayout="default"
|
textboxLayout="split"
|
||||||
gridVariant="three-columns-all-equal-width"
|
useInvertedBackground={true}
|
||||||
useInvertedBackground={false}
|
title="Client Testimonials"
|
||||||
|
description="Real luxury experiences from our Malvern East community."
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{ id: "1", name: "Tania Dos Santos", handle: "@tania.style", testimonial: "The ultimate premium experience. Absolutely stunning results!" },
|
||||||
id: "1", name: "Tania Dos Santos", role: "Client", company: "Flamingo Beauty", rating: 5,
|
{ id: "2", name: "Dorothea Claassen", handle: "@dorothea.c", testimonial: "Futuristic service, timeless style. So happy with my look!" },
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-business-woman-smiling_23-2148352574.jpg"},
|
{ id: "3", name: "Fiona Brown", handle: "@fiona.beauty", testimonial: "Professional, chic, and always welcoming. My go-to luxury spot." },
|
||||||
{
|
|
||||||
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"
|
|
||||||
description="Real feedback from our wonderful Malvern East community."
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="faq" data-section="faq">
|
<div id="faq" data-section="faq">
|
||||||
<FaqDouble
|
<FaqDouble
|
||||||
textboxLayout="default"
|
textboxLayout="split"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={true}
|
||||||
title="Frequently Asked Questions"
|
title="Frequently Asked Questions"
|
||||||
description="Everything you need to know about your next appointment."
|
description="Everything you need to know about your luxury salon experience."
|
||||||
faqsAnimation="slide-up"
|
faqsAnimation="slide-up"
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{ id: "f1", title: "How do I book an appointment?", content: "Book instantly via our online luxury booking platform." },
|
||||||
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: "Operating Hours", content: "Monday - Saturday: 09:00 - 18:00. By appointment only." },
|
||||||
{
|
{ id: "f3", title: "Gift Cards", content: "Digital and physical luxury gift cards are available in-store." },
|
||||||
id: "f2", title: "What are your operating hours?", content: "We are open Monday to Saturday from 09:00 to 18:00."},
|
{ id: "f4", title: "Guest Policy", content: "Relax in our dedicated lounge area during your treatment." },
|
||||||
{
|
|
||||||
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>
|
||||||
@@ -160,7 +108,7 @@ export default function LandingPage() {
|
|||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterCard
|
<FooterCard
|
||||||
logoText="Flamingo Hair & Beauty"
|
logoText="Flamingo Hair & Beauty"
|
||||||
copyrightText="© 2026 Flamingo Hair & Beauty · All rights reserved."
|
copyrightText="© 2026 Flamingo Hair & Beauty. Futuristic Beauty Redefined."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #FBEAF0;
|
--background: #000000;
|
||||||
--card: #ffffff;
|
--card: #1a1a1a;
|
||||||
--foreground: #2b180a;
|
--foreground: #ffffff;
|
||||||
--primary-cta: #D4537E;
|
--primary-cta: #FFD700;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #993556;
|
--secondary-cta: #00E5FF;
|
||||||
--secondary-cta-text: #ffffff;
|
--secondary-cta-text: #ffffff;
|
||||||
--accent: #ED93B1;
|
--accent: #C0C0C0;
|
||||||
--background-accent: #f9f1f4;
|
--background-accent: #0d0d0d;
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user