diff --git a/src/app/booking/page.tsx b/src/app/booking/page.tsx index 4655831..74b4172 100644 --- a/src/app/booking/page.tsx +++ b/src/app/booking/page.tsx @@ -22,8 +22,7 @@ export default function BookingPage() { const footerColumns = [ { - title: "Quick Links", - items: [ + title: "Quick Links", items: [ { label: "Home", href: "/" }, { label: "Services", href: "/services" }, { label: "Packages", href: "/packages" }, @@ -31,8 +30,7 @@ export default function BookingPage() { ], }, { - title: "Our Branches", - items: [ + title: "Our Branches", items: [ { label: "Umhlanga", href: "/locations#umhlanga" }, { label: "Berea", href: "/locations#berea" }, { label: "Northgate", href: "/locations#northgate" }, @@ -40,8 +38,7 @@ export default function BookingPage() { ], }, { - title: "Wellness Info", - items: [ + title: "Wellness Info", items: [ { label: "About Our Team", href: "#team" }, { label: "Health Benefits", href: "/services" }, { label: "Gift Vouchers", href: "/packages" }, @@ -49,8 +46,7 @@ export default function BookingPage() { ], }, { - title: "Resources", - items: [ + title: "Resources", items: [ { label: "FAQ", href: "#faq" }, { label: "Contact Us", href: "#contact" }, { label: "Testimonials", href: "#testimonials" }, @@ -76,9 +72,7 @@ export default function BookingPage() { @@ -89,18 +83,13 @@ export default function BookingPage() { description="Reserve your perfect escape at Orchard Day Spa. Choose from our luxurious treatments, select your preferred location and time, and let us help you begin your wellness journey." buttons={[ { - text: "Continue Booking", - href: "#booking-form", - }, + text: "Continue Booking", href: "#booking-form"}, { - text: "View Packages", - href: "/packages", - }, + text: "View Packages", href: "/packages"}, ]} background={{ - variant: "circleGradient", - }} - imageSrc="http://img.b2bpic.net/free-photo/women-having-beauty-treatment-sauna_23-2149241471.jpg?_wi=2" + variant: "sparkles-gradient"}} + imageSrc="http://img.b2bpic.net/free-photo/women-having-beauty-treatment-sauna_23-2149241471.jpg" imageAlt="Serene spa sanctuary with warm lighting" frameStyle="card" mediaAnimation="slide-up" @@ -114,38 +103,24 @@ export default function BookingPage() { description="Complete this form and our wellness team will confirm your booking within 24 hours. Let us know your preferences and any special requests." inputs={[ { - name: "fullName", - type: "text", - placeholder: "Your Full Name", - required: true, + name: "fullName", type: "text", placeholder: "Your Full Name", required: true, }, { - name: "email", - type: "email", - placeholder: "Your Email Address", - required: true, + name: "email", type: "email", placeholder: "Your Email Address", required: true, }, { - name: "phone", - type: "tel", - placeholder: "Phone Number", - required: true, + name: "phone", type: "tel", placeholder: "Phone Number", required: true, }, { - name: "location", - type: "text", - placeholder: "Preferred Location (Umhlanga / Berea / Northgate)", - required: true, + name: "location", type: "text", placeholder: "Preferred Location (Umhlanga / Berea / Northgate)", required: true, }, ]} textarea={{ - name: "message", - placeholder: "Tell us about your treatment preferences, any health concerns, and special requests...", - rows: 5, + name: "message", placeholder: "Tell us about your treatment preferences, any health concerns, and special requests...", rows: 5, required: true, }} useInvertedBackground={false} - imageSrc="http://img.b2bpic.net/free-photo/i-love-u-title-lamp-near-spa-tub-with-burning-candles_23-2148003833.jpg?_wi=2" + imageSrc="http://img.b2bpic.net/free-photo/i-love-u-title-lamp-near-spa-tub-with-burning-candles_23-2148003833.jpg" imageAlt="Serene spa ambiance" mediaAnimation="slide-up" mediaPosition="right" diff --git a/src/app/page.tsx b/src/app/page.tsx index b6e28d0..197a93c 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -46,9 +46,7 @@ export default function HomePage() { brandName="Orchard Day Spa" navItems={navItems} button={{ - text: "Reserve Your Escape Today", - href: "#contact", - }} + text: "Reserve Your Escape Today", href: "#contact"}} /> @@ -58,16 +56,12 @@ export default function HomePage() { description="Step into Orchard Day Spa, where tranquillity meets expert care across three luxurious Durban locations. Discover bespoke treatments, curated wellness packages, and the serene sanctuary you deserve." buttons={[ { - text: "Reserve Your Escape Today", - href: "#contact", - }, + text: "Reserve Your Escape Today", href: "#contact"}, { - text: "Explore Our Packages", - href: "#packages", - }, + text: "Explore Our Packages", href: "#packages"}, ]} - background={{ variant: "circleGradient" }} - imageSrc="http://img.b2bpic.net/free-photo/women-having-beauty-treatment-sauna_23-2149241471.jpg?_wi=1" + background={{ variant: "sparkles-gradient" }} + imageSrc="http://img.b2bpic.net/free-photo/women-having-beauty-treatment-sauna_23-2149241471.jpg" imageAlt="Serene spa sanctuary with warm lighting" frameStyle="card" mediaAnimation="slide-up" @@ -79,37 +73,21 @@ export default function HomePage() { @@ -338,37 +201,16 @@ export default function HomePage() { useInvertedBackground={false} metrics={[ { - id: "umhlanga", - value: "Umhlanga", - title: "Beachfront Luxury Branch", - items: [ - "Ocean-view treatment suites", - "Boutique retail products", - "Full facilities and amenities", - "Premium parking available", - ], + id: "umhlanga", value: "Umhlanga", title: "Beachfront Luxury Branch", items: [ + "Ocean-view treatment suites", "Boutique retail products", "Full facilities and amenities", "Premium parking available"], }, { - id: "berea", - value: "Berea", - title: "Urban Wellness Hub", - items: [ - "Contemporary design aesthetic", - "Central Durban location", - "Extended service menu", - "Corporate packages available", - ], + id: "berea", value: "Berea", title: "Urban Wellness Hub", items: [ + "Contemporary design aesthetic", "Central Durban location", "Extended service menu", "Corporate packages available"], }, { - id: "northgate", - value: "Northgate", - title: "Neighbourhood Sanctuary", - items: [ - "Warm, intimate setting", - "Specialised treatments", - "Family-friendly hours", - "Easy accessibility", - ], + id: "northgate", value: "Northgate", title: "Neighbourhood Sanctuary", items: [ + "Warm, intimate setting", "Specialised treatments", "Family-friendly hours", "Easy accessibility"], }, ]} buttonAnimation="slide-up" @@ -381,29 +223,13 @@ export default function HomePage() { tag="Expert Team" members={[ { - id: "1", - name: "Therapist Lindy Mbatha", - imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-relaxing-spa-salon_176420-14869.jpg?_wi=1", - imageAlt: "Lindy Mbatha, Lead Therapist", - }, + id: "1", name: "Therapist Lindy Mbatha", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-relaxing-spa-salon_176420-14869.jpg", imageAlt: "Lindy Mbatha, Lead Therapist"}, { - id: "2", - name: "Facial Specialist Natasha Goveia", - imageSrc: "http://img.b2bpic.net/free-photo/doctor-clinic-interior_1398-732.jpg?_wi=1", - imageAlt: "Natasha Goveia, Facial Specialist", - }, + id: "2", name: "Facial Specialist Natasha Goveia", imageSrc: "http://img.b2bpic.net/free-photo/doctor-clinic-interior_1398-732.jpg", imageAlt: "Natasha Goveia, Facial Specialist"}, { - id: "3", - name: "Wellness Director Dr. Amandla Dlamini", - imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-nurse-with-stethoscope_23-2149308237.jpg?_wi=1", - imageAlt: "Dr. Amandla Dlamini, Wellness Director", - }, + id: "3", name: "Wellness Director Dr. Amandla Dlamini", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-nurse-with-stethoscope_23-2149308237.jpg", imageAlt: "Dr. Amandla Dlamini, Wellness Director"}, { - id: "4", - name: "Body Therapist Jasmine Patel", - imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-sitting-chair_23-2149927604.jpg?_wi=1", - imageAlt: "Jasmine Patel, Body Therapist", - }, + id: "4", name: "Body Therapist Jasmine Patel", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-sitting-chair_23-2149927604.jpg", imageAlt: "Jasmine Patel, Body Therapist"}, ]} memberVariant="default" useInvertedBackground={false} @@ -423,45 +249,21 @@ export default function HomePage() { animationType="smooth" faqs={[ { - id: "1", - title: "How do I book a treatment at Orchard Day Spa?", - content: "You can book online through our website by selecting your preferred location, treatment, and time. Alternatively, call any of our branches directly. We recommend booking at least 48 hours in advance to secure your preferred slot.", - }, + id: "1", title: "How do I book a treatment at Orchard Day Spa?", content: "You can book online through our website by selecting your preferred location, treatment, and time. Alternatively, call any of our branches directly. We recommend booking at least 48 hours in advance to secure your preferred slot."}, { - id: "2", - title: "What is your cancellation policy?", - content: "Cancellations made 24 hours before your appointment receive a full refund. Cancellations within 24 hours incur a 50% charge. No-shows are charged in full. We recommend confirming your appointment the day before.", - }, + id: "2", title: "What is your cancellation policy?", content: "Cancellations made 24 hours before your appointment receive a full refund. Cancellations within 24 hours incur a 50% charge. No-shows are charged in full. We recommend confirming your appointment the day before."}, { - id: "3", - title: "Are your products natural and organic?", - content: "Yes, we exclusively use premium, dermatologically-tested skincare lines featuring natural and organic ingredients. All products are cruelty-free and sustainably sourced. Our team can provide detailed product information during your consultation.", - }, + id: "3", title: "Are your products natural and organic?", content: "Yes, we exclusively use premium, dermatologically-tested skincare lines featuring natural and organic ingredients. All products are cruelty-free and sustainably sourced. Our team can provide detailed product information during your consultation."}, { - id: "4", - title: "Do you offer packages for corporate groups?", - content: "Absolutely! We offer customised corporate wellness packages for team building and stress relief. Contact our corporate concierge to discuss group rates, flexible scheduling, and tailored treatment menus.", - }, + id: "4", title: "Do you offer packages for corporate groups?", content: "Absolutely! We offer customised corporate wellness packages for team building and stress relief. Contact our corporate concierge to discuss group rates, flexible scheduling, and tailored treatment menus."}, { - id: "5", - title: "Are there any age restrictions for treatments?", - content: "Most treatments are suitable for adults. Our Tots & Teens Experience welcomes children aged 8+. Pregnant clients should inform therapists in advance, and we offer specialised prenatal massage options.", - }, + id: "5", title: "Are there any age restrictions for treatments?", content: "Most treatments are suitable for adults. Our Tots & Teens Experience welcomes children aged 8+. Pregnant clients should inform therapists in advance, and we offer specialised prenatal massage options."}, { - id: "6", - title: "What should I bring to my appointment?", - content: "Arrive 10–15 minutes early to complete our wellness intake form. Bring your ID and any relevant health information. We provide robes, slippers, and lockers—just bring yourself ready to relax!", - }, + id: "6", title: "What should I bring to my appointment?", content: "Arrive 10–15 minutes early to complete our wellness intake form. Bring your ID and any relevant health information. We provide robes, slippers, and lockers—just bring yourself ready to relax!"}, { - id: "7", - title: "Do you offer gift vouchers?", - content: "Yes! Gift vouchers are available for any treatment or package value. They make perfect presents for birthdays, anniversaries, or corporate recognition. Purchase online or at any of our locations.", - }, + id: "7", title: "Do you offer gift vouchers?", content: "Yes! Gift vouchers are available for any treatment or package value. They make perfect presents for birthdays, anniversaries, or corporate recognition. Purchase online or at any of our locations."}, { - id: "8", - title: "What are your operating hours?", - content: "Our locations operate Monday–Friday 9 AM–7 PM, Saturday 9 AM–6 PM, and Sunday 10 AM–5 PM. Some extended hours available by appointment. Check with your preferred location for specific details.", - }, + id: "8", title: "What are your operating hours?", content: "Our locations operate Monday–Friday 9 AM–7 PM, Saturday 9 AM–6 PM, and Sunday 10 AM–5 PM. Some extended hours available by appointment. Check with your preferred location for specific details."}, ]} showCard={true} /> @@ -473,38 +275,24 @@ export default function HomePage() { description="Have questions or ready to book? Reach out to our wellness team. We're here to help you plan your perfect escape." inputs={[ { - name: "fullName", - type: "text", - placeholder: "Your Full Name", - required: true, + name: "fullName", type: "text", placeholder: "Your Full Name", required: true, }, { - name: "email", - type: "email", - placeholder: "Your Email Address", - required: true, + name: "email", type: "email", placeholder: "Your Email Address", required: true, }, { - name: "phone", - type: "tel", - placeholder: "Phone Number", - required: true, + name: "phone", type: "tel", placeholder: "Phone Number", required: true, }, { - name: "location", - type: "text", - placeholder: "Preferred Location", - required: false, + name: "location", type: "text", placeholder: "Preferred Location", required: false, }, ]} textarea={{ - name: "message", - placeholder: "Tell us about your wellness goals or ask us anything...", - rows: 5, + name: "message", placeholder: "Tell us about your wellness goals or ask us anything...", rows: 5, required: true, }} useInvertedBackground={false} - imageSrc="http://img.b2bpic.net/free-photo/i-love-u-title-lamp-near-spa-tub-with-burning-candles_23-2148003833.jpg?_wi=1" + imageSrc="http://img.b2bpic.net/free-photo/i-love-u-title-lamp-near-spa-tub-with-burning-candles_23-2148003833.jpg" imageAlt="Serene spa ambiance" mediaAnimation="slide-up" mediaPosition="right" @@ -518,87 +306,51 @@ export default function HomePage() { logoText="Orchard" columns={[ { - title: "Quick Links", - items: [ + title: "Quick Links", items: [ { - label: "Home", - href: "/", - }, + label: "Home", href: "/"}, { - label: "Services", - href: "/services", - }, + label: "Services", href: "/services"}, { - label: "Packages", - href: "#packages", - }, + label: "Packages", href: "#packages"}, { - label: "Locations", - href: "#locations", - }, + label: "Locations", href: "#locations"}, ], }, { - title: "Our Branches", - items: [ + title: "Our Branches", items: [ { - label: "Umhlanga", - href: "#umhlanga", - }, + label: "Umhlanga", href: "#umhlanga"}, { - label: "Berea", - href: "#berea", - }, + label: "Berea", href: "#berea"}, { - label: "Northgate", - href: "#northgate", - }, + label: "Northgate", href: "#northgate"}, { - label: "Book Now", - href: "#contact", - }, + label: "Book Now", href: "#contact"}, ], }, { - title: "Wellness Info", - items: [ + title: "Wellness Info", items: [ { - label: "About Our Team", - href: "#team", - }, + label: "About Our Team", href: "#team"}, { - label: "Health Benefits", - href: "/services", - }, + label: "Health Benefits", href: "/services"}, { - label: "Gift Vouchers", - href: "#packages", - }, + label: "Gift Vouchers", href: "#packages"}, { - label: "Corporate Wellness", - href: "#contact", - }, + label: "Corporate Wellness", href: "#contact"}, ], }, { - title: "Resources", - items: [ + title: "Resources", items: [ { - label: "FAQ", - href: "#faq", - }, + label: "FAQ", href: "#faq"}, { - label: "Contact Us", - href: "#contact", - }, + label: "Contact Us", href: "#contact"}, { - label: "Testimonials", - href: "#testimonials", - }, + label: "Testimonials", href: "#testimonials"}, { - label: "Privacy Policy", - href: "/privacy", - }, + label: "Privacy Policy", href: "/privacy"}, ], }, ]} diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..3046460 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,33 @@ -"use client"; - -import { memo } from "react"; -import useSvgTextLogo from "./useSvgTextLogo"; -import { cls } from "@/lib/utils"; +import React from "react"; interface SvgTextLogoProps { - logoText: string; - adjustHeightFactor?: number; - verticalAlign?: "top" | "center"; + text: string; + fontSize?: number; + fontFamily?: string; + fill?: string; className?: string; } -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); - +export const SvgTextLogo: React.FC = ({ + text, + fontSize = 48, + fontFamily = "sans-serif", fill = "currentColor", className = ""}) => { return ( - {logoText} + {text} ); -}); - -SvgTextLogo.displayName = "SvgTextLogo"; - -export default SvgTextLogo; +};