Merge version_1 into main #2
157
src/app/page.tsx
157
src/app/page.tsx
@@ -9,7 +9,7 @@ import AboutMetric from "@/components/sections/about/AboutMetric";
|
||||
import TestimonialCardSix from "@/components/sections/testimonial/TestimonialCardSix";
|
||||
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import { Award, Users, Globe, Sparkles, Spa, Dumbbell, UtensilsCrossed, Bed, Waves } from "lucide-react";
|
||||
import { Award, Users, Globe, Sparkles, Dumbbell, UtensilsCrossed, Bed, Waves } from "lucide-react";
|
||||
|
||||
export default function HomePage() {
|
||||
const navItems = [
|
||||
@@ -22,8 +22,7 @@ export default function HomePage() {
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Hotel",
|
||||
items: [
|
||||
title: "Hotel", items: [
|
||||
{ label: "Accommodations", href: "/hotel" },
|
||||
{ label: "Room Types", href: "/hotel" },
|
||||
{ label: "Dining", href: "/hotel" },
|
||||
@@ -31,8 +30,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Wellness",
|
||||
items: [
|
||||
title: "Wellness", items: [
|
||||
{ label: "Spa Services", href: "/wellness" },
|
||||
{ label: "Yoga Classes", href: "/wellness" },
|
||||
{ label: "Treatments", href: "/wellness" },
|
||||
@@ -40,8 +38,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Sports Center",
|
||||
items: [
|
||||
title: "Sports Center", items: [
|
||||
{ label: "Facilities", href: "/sports" },
|
||||
{ label: "Classes & Training", href: "/sports" },
|
||||
{ label: "Memberships", href: "/sports" },
|
||||
@@ -49,8 +46,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#about" },
|
||||
{ label: "Contact", href: "#contact" },
|
||||
{ label: "Careers", href: "#" },
|
||||
@@ -58,8 +54,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cancellation Policy", href: "#" },
|
||||
@@ -86,9 +81,7 @@ export default function HomePage() {
|
||||
brandName="Alexandra Hotel"
|
||||
navItems={navItems}
|
||||
button={{
|
||||
text: "Book Now",
|
||||
href: "#contact",
|
||||
}}
|
||||
text: "Book Now", href: "#contact"}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -99,28 +92,18 @@ export default function HomePage() {
|
||||
background={{ variant: "radial-gradient" }}
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/portrait-woman-business-embrace-confidence-posing-beauty-black-african-american-isolated-gray-background_640221-39.jpg",
|
||||
alt: "professional woman smiling portrait",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/portrait-woman-business-embrace-confidence-posing-beauty-black-african-american-isolated-gray-background_640221-39.jpg", alt: "professional woman smiling portrait"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/full-length-portrait-confident-mature-businessman-formals-standing-isolated-white-background_613910-10626.jpg",
|
||||
alt: "man smiling professional portrait",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/full-length-portrait-confident-mature-businessman-formals-standing-isolated-white-background_613910-10626.jpg", alt: "man smiling professional portrait"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/young-adult-having-great-time-with-friends_23-2149286535.jpg",
|
||||
alt: "person smiling happy portrait",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/young-adult-having-great-time-with-friends_23-2149286535.jpg", alt: "person smiling happy portrait"},
|
||||
]}
|
||||
avatarText="Trusted by 5000+ guests"
|
||||
buttons={[
|
||||
{
|
||||
text: "Explore Amenities",
|
||||
href: "#features",
|
||||
},
|
||||
text: "Explore Amenities", href: "#features"},
|
||||
{
|
||||
text: "Book Your Stay",
|
||||
href: "#contact",
|
||||
},
|
||||
text: "Book Your Stay", href: "#contact"},
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
@@ -132,35 +115,23 @@ export default function HomePage() {
|
||||
description="From rejuvenating wellness experiences to thrilling sports activities, Alexandra Hotel offers everything for an unforgettable stay."
|
||||
features={[
|
||||
{
|
||||
icon: Spa,
|
||||
title: "Wellness Center",
|
||||
description: "Premium spa treatments, yoga classes, and meditation spaces designed for ultimate relaxation and rejuvenation.",
|
||||
},
|
||||
icon: Dumbbell,
|
||||
title: "Wellness Center", description: "Premium spa treatments, yoga classes, and meditation spaces designed for ultimate relaxation and rejuvenation."},
|
||||
{
|
||||
icon: Dumbbell,
|
||||
title: "Sports Facilities",
|
||||
description: "State-of-the-art fitness center, tennis courts, swimming pools, and recreational sports equipment for active guests.",
|
||||
},
|
||||
title: "Sports Facilities", description: "State-of-the-art fitness center, tennis courts, swimming pools, and recreational sports equipment for active guests."},
|
||||
{
|
||||
icon: UtensilsCrossed,
|
||||
title: "Fine Dining",
|
||||
description: "Gourmet restaurants and lounges featuring international cuisine and locally-sourced ingredients.",
|
||||
},
|
||||
title: "Fine Dining", description: "Gourmet restaurants and lounges featuring international cuisine and locally-sourced ingredients."},
|
||||
{
|
||||
icon: Bed,
|
||||
title: "Luxury Suites",
|
||||
description: "Elegantly appointed rooms with premium amenities, stunning views, and personalized service.",
|
||||
},
|
||||
title: "Luxury Suites", description: "Elegantly appointed rooms with premium amenities, stunning views, and personalized service."},
|
||||
{
|
||||
icon: Waves,
|
||||
title: "Aquatic Center",
|
||||
description: "Olympic-sized swimming pools, hot tubs, and water sports facilities for guests of all ages.",
|
||||
},
|
||||
title: "Aquatic Center", description: "Olympic-sized swimming pools, hot tubs, and water sports facilities for guests of all ages."},
|
||||
{
|
||||
icon: Users,
|
||||
title: "Guest Services",
|
||||
description: "24/7 concierge, event planning, and personalized assistance for a seamless stay.",
|
||||
},
|
||||
title: "Guest Services", description: "24/7 concierge, event planning, and personalized assistance for a seamless stay."},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
@@ -174,24 +145,16 @@ export default function HomePage() {
|
||||
metrics={[
|
||||
{
|
||||
icon: Award,
|
||||
label: "Years of Excellence",
|
||||
value: "35+",
|
||||
},
|
||||
label: "Years of Excellence", value: "35+"},
|
||||
{
|
||||
icon: Users,
|
||||
label: "Satisfied Guests",
|
||||
value: "50,000+",
|
||||
},
|
||||
label: "Satisfied Guests", value: "50,000+"},
|
||||
{
|
||||
icon: Globe,
|
||||
label: "International Recognition",
|
||||
value: "8 Awards",
|
||||
},
|
||||
label: "International Recognition", value: "8 Awards"},
|
||||
{
|
||||
icon: Sparkles,
|
||||
label: "Premium Suites",
|
||||
value: "250+",
|
||||
},
|
||||
label: "Premium Suites", value: "250+"},
|
||||
]}
|
||||
metricsAnimation="slide-up"
|
||||
useInvertedBackground={false}
|
||||
@@ -204,53 +167,17 @@ export default function HomePage() {
|
||||
description="Read authentic reviews from travelers who experienced the Alexandra Hotel difference."
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Sarah Mitchell",
|
||||
handle: "@sarah_travels",
|
||||
testimonial: "The wellness center exceeded all my expectations. The spa treatments are world-class and the staff's attention to detail is impeccable.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-pretty-woman-with-short-curly-hair-dressed-jacket-glasses-poses-pink-with-clasped-hands-wonderful-smile_291650-1138.jpg?_wi=1",
|
||||
imageAlt: "woman spa wellness relaxation portrait",
|
||||
},
|
||||
id: "1", name: "Sarah Mitchell", handle: "@sarah_travels", testimonial: "The wellness center exceeded all my expectations. The spa treatments are world-class and the staff's attention to detail is impeccable.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-pretty-woman-with-short-curly-hair-dressed-jacket-glasses-poses-pink-with-clasped-hands-wonderful-smile_291650-1138.jpg", imageAlt: "woman spa wellness relaxation portrait"},
|
||||
{
|
||||
id: "2",
|
||||
name: "James Thompson",
|
||||
handle: "@james_fitness",
|
||||
testimonial: "As a fitness enthusiast, I was impressed by the sports facilities and equipment. The trainers are knowledgeable and supportive.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-young-bearded-man_273609-15894.jpg?_wi=1",
|
||||
imageAlt: "man fitness athletic portrait",
|
||||
},
|
||||
id: "2", name: "James Thompson", handle: "@james_fitness", testimonial: "As a fitness enthusiast, I was impressed by the sports facilities and equipment. The trainers are knowledgeable and supportive.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-young-bearded-man_273609-15894.jpg", imageAlt: "man fitness athletic portrait"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Elena Rodriguez",
|
||||
handle: "@elena_luxury",
|
||||
testimonial: "Every detail of my stay was perfect. The rooms are luxurious, the dining is exceptional, and the service is outstanding.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5923.jpg?_wi=1",
|
||||
imageAlt: "woman luxury hotel happy portrait",
|
||||
},
|
||||
id: "3", name: "Elena Rodriguez", handle: "@elena_luxury", testimonial: "Every detail of my stay was perfect. The rooms are luxurious, the dining is exceptional, and the service is outstanding.", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5923.jpg", imageAlt: "woman luxury hotel happy portrait"},
|
||||
{
|
||||
id: "4",
|
||||
name: "David Chen",
|
||||
handle: "@david_explorer",
|
||||
testimonial: "The concierge team helped us plan amazing activities. Alexandra Hotel is more than accommodation—it's an experience.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/adult-hiking-activity_23-2151886373.jpg?_wi=1",
|
||||
imageAlt: "man adventure travel portrait",
|
||||
},
|
||||
id: "4", name: "David Chen", handle: "@david_explorer", testimonial: "The concierge team helped us plan amazing activities. Alexandra Hotel is more than accommodation—it's an experience.", imageSrc: "http://img.b2bpic.net/free-photo/adult-hiking-activity_23-2151886373.jpg", imageAlt: "man adventure travel portrait"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Marie Dubois",
|
||||
handle: "@marie_wellness",
|
||||
testimonial: "I returned for my third stay because of the exceptional wellness programs. This is my home away from home.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/spa-relaxation_1098-15108.jpg?_wi=1",
|
||||
imageAlt: "woman wellness spa portrait",
|
||||
},
|
||||
id: "5", name: "Marie Dubois", handle: "@marie_wellness", testimonial: "I returned for my third stay because of the exceptional wellness programs. This is my home away from home.", imageSrc: "http://img.b2bpic.net/free-photo/spa-relaxation_1098-15108.jpg", imageAlt: "woman wellness spa portrait"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Marcus Johnson",
|
||||
handle: "@marcus_adventure",
|
||||
testimonial: "The sports center is incredible—tennis, swimming, hiking trails. There's something for everyone at Alexandra Hotel.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-male-athlete-looking-camera_23-2148162116.jpg?_wi=1",
|
||||
imageAlt: "man sports athletic portrait",
|
||||
},
|
||||
id: "6", name: "Marcus Johnson", handle: "@marcus_adventure", testimonial: "The sports center is incredible—tennis, swimming, hiking trails. There's something for everyone at Alexandra Hotel.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-male-athlete-looking-camera_23-2148162116.jpg", imageAlt: "man sports athletic portrait"},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
@@ -265,38 +192,24 @@ export default function HomePage() {
|
||||
description="Get in touch with our team to book your accommodation, arrange special experiences, or ask any questions about our facilities and services."
|
||||
inputs={[
|
||||
{
|
||||
name: "name",
|
||||
type: "text",
|
||||
placeholder: "Your Name",
|
||||
required: true,
|
||||
name: "name", type: "text", placeholder: "Your Name", required: true,
|
||||
},
|
||||
{
|
||||
name: "email",
|
||||
type: "email",
|
||||
placeholder: "Email Address",
|
||||
required: true,
|
||||
name: "email", type: "email", placeholder: "Email Address", required: true,
|
||||
},
|
||||
{
|
||||
name: "checkIn",
|
||||
type: "date",
|
||||
placeholder: "Check-in Date",
|
||||
required: true,
|
||||
name: "checkIn", type: "date", placeholder: "Check-in Date", required: true,
|
||||
},
|
||||
{
|
||||
name: "checkOut",
|
||||
type: "date",
|
||||
placeholder: "Check-out Date",
|
||||
required: true,
|
||||
name: "checkOut", type: "date", placeholder: "Check-out Date", required: true,
|
||||
},
|
||||
]}
|
||||
textarea={{
|
||||
name: "message",
|
||||
placeholder: "Tell us about your preferences and special requests...",
|
||||
rows: 5,
|
||||
name: "message", placeholder: "Tell us about your preferences and special requests...", rows: 5,
|
||||
required: true,
|
||||
}}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/elegant-stools-table-huge-bright-hall_1127-3339.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/elegant-stools-table-huge-bright-hall_1127-3339.jpg"
|
||||
imageAlt="luxury hotel interior elegant design"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
|
||||
@@ -7,7 +7,7 @@ import FeatureHoverPattern from "@/components/sections/feature/featureHoverPatte
|
||||
import TestimonialCardSix from "@/components/sections/testimonial/TestimonialCardSix";
|
||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import Link from "next/link";
|
||||
import { Spa, Wind, Heart, Droplets, Users, Music } from "lucide-react";
|
||||
import { Wind, Heart, Droplets, Users, Music, Dumbbell } from "lucide-react";
|
||||
|
||||
export default function WellnessPage() {
|
||||
const navItems = [
|
||||
@@ -20,92 +20,43 @@ export default function WellnessPage() {
|
||||
|
||||
const wellnessFeatures = [
|
||||
{
|
||||
icon: Spa,
|
||||
title: "Premium Spa Treatments",
|
||||
description: "Indulge in our signature spa treatments featuring organic products and ancient healing techniques. Our expert therapists provide personalized wellness experiences.",
|
||||
},
|
||||
icon: Dumbbell,
|
||||
title: "Premium Spa Treatments", description: "Indulge in our signature spa treatments featuring organic products and ancient healing techniques. Our expert therapists provide personalized wellness experiences."},
|
||||
{
|
||||
icon: Wind,
|
||||
title: "Yoga & Meditation",
|
||||
description: "Join guided yoga sessions and meditation classes designed to calm your mind, strengthen your body, and reconnect with inner peace.",
|
||||
},
|
||||
title: "Yoga & Meditation", description: "Join guided yoga sessions and meditation classes designed to calm your mind, strengthen your body, and reconnect with inner peace."},
|
||||
{
|
||||
icon: Heart,
|
||||
title: "Holistic Health",
|
||||
description: "Our wellness experts offer personalized health consultations, nutrition planning, and fitness coaching tailored to your specific goals.",
|
||||
},
|
||||
title: "Holistic Health", description: "Our wellness experts offer personalized health consultations, nutrition planning, and fitness coaching tailored to your specific goals."},
|
||||
{
|
||||
icon: Droplets,
|
||||
title: "Thermal Pools",
|
||||
description: "Relax in our heated thermal pools infused with mineral-rich waters known for their therapeutic and rejuvenating properties.",
|
||||
},
|
||||
title: "Thermal Pools", description: "Relax in our heated thermal pools infused with mineral-rich waters known for their therapeutic and rejuvenating properties."},
|
||||
{
|
||||
icon: Users,
|
||||
title: "Group Classes",
|
||||
description: "Participate in group wellness classes including pilates, tai chi, and dance fitness in our state-of-the-art studio.",
|
||||
},
|
||||
title: "Group Classes", description: "Participate in group wellness classes including pilates, tai chi, and dance fitness in our state-of-the-art studio."},
|
||||
{
|
||||
icon: Music,
|
||||
title: "Sound Healing",
|
||||
description: "Experience transformative sound healing sessions using crystal bowls and vibrational therapy for deep relaxation and balance.",
|
||||
},
|
||||
title: "Sound Healing", description: "Experience transformative sound healing sessions using crystal bowls and vibrational therapy for deep relaxation and balance."},
|
||||
];
|
||||
|
||||
const wellnessTestimonials = [
|
||||
{
|
||||
id: "1",
|
||||
name: "Sarah Mitchell",
|
||||
handle: "@sarah_wellness",
|
||||
testimonial: "The wellness center exceeded all my expectations. The spa treatments are world-class and the staff's attention to detail is impeccable.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-pretty-woman-with-short-curly-hair-dressed-jacket-glasses-poses-pink-with-clasped-hands-wonderful-smile_291650-1138.jpg?_wi=2",
|
||||
imageAlt: "Sarah Mitchell",
|
||||
},
|
||||
id: "1", name: "Sarah Mitchell", handle: "@sarah_wellness", testimonial: "The wellness center exceeded all my expectations. The spa treatments are world-class and the staff's attention to detail is impeccable.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-pretty-woman-with-short-curly-hair-dressed-jacket-glasses-poses-pink-with-clasped-hands-wonderful-smile_291650-1138.jpg", imageAlt: "Sarah Mitchell"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Emma Richardson",
|
||||
handle: "@emma_yoga",
|
||||
testimonial: "The yoga classes have transformed my practice. The instructors are knowledgeable and the studio ambiance is perfectly serene.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5923.jpg?_wi=2",
|
||||
imageAlt: "Emma Richardson",
|
||||
},
|
||||
id: "2", name: "Emma Richardson", handle: "@emma_yoga", testimonial: "The yoga classes have transformed my practice. The instructors are knowledgeable and the studio ambiance is perfectly serene.", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5923.jpg", imageAlt: "Emma Richardson"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Rachel Green",
|
||||
handle: "@rachel_retreat",
|
||||
testimonial: "I came for a weekend and felt completely renewed. The meditation sessions and thermal pools are absolutely magical.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/spa-relaxation_1098-15108.jpg?_wi=2",
|
||||
imageAlt: "Rachel Green",
|
||||
},
|
||||
id: "3", name: "Rachel Green", handle: "@rachel_retreat", testimonial: "I came for a weekend and felt completely renewed. The meditation sessions and thermal pools are absolutely magical.", imageSrc: "http://img.b2bpic.net/free-photo/spa-relaxation_1098-15108.jpg", imageAlt: "Rachel Green"},
|
||||
{
|
||||
id: "4",
|
||||
name: "Sophie Laurent",
|
||||
handle: "@sophie_spa",
|
||||
testimonial: "Alexandra Hotel's wellness center is my sanctuary. The sound healing sessions have brought so much peace to my life.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-pretty-woman-with-short-curly-hair-dressed-jacket-glasses-poses-pink-with-clasped-hands-wonderful-smile_291650-1138.jpg?_wi=3",
|
||||
imageAlt: "Sophie Laurent",
|
||||
},
|
||||
id: "4", name: "Sophie Laurent", handle: "@sophie_spa", testimonial: "Alexandra Hotel's wellness center is my sanctuary. The sound healing sessions have brought so much peace to my life.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-pretty-woman-with-short-curly-hair-dressed-jacket-glasses-poses-pink-with-clasped-hands-wonderful-smile_291650-1138.jpg", imageAlt: "Sophie Laurent"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Lisa Anderson",
|
||||
handle: "@lisa_balance",
|
||||
testimonial: "The holistic health consultations helped me completely change my wellness routine. I've never felt better!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5923.jpg?_wi=3",
|
||||
imageAlt: "Lisa Anderson",
|
||||
},
|
||||
id: "5", name: "Lisa Anderson", handle: "@lisa_balance", testimonial: "The holistic health consultations helped me completely change my wellness routine. I've never felt better!", imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-sitting-cafe_176420-5923.jpg", imageAlt: "Lisa Anderson"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Jennifer White",
|
||||
handle: "@jen_relax",
|
||||
testimonial: "Every visit to the thermal pools feels like a healing journey. The mineral water combined with the peaceful atmosphere is transformative.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/spa-relaxation_1098-15108.jpg?_wi=3",
|
||||
imageAlt: "Jennifer White",
|
||||
},
|
||||
id: "6", name: "Jennifer White", handle: "@jen_relax", testimonial: "Every visit to the thermal pools feels like a healing journey. The mineral water combined with the peaceful atmosphere is transformative.", imageSrc: "http://img.b2bpic.net/free-photo/spa-relaxation_1098-15108.jpg", imageAlt: "Jennifer White"},
|
||||
];
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Hotel",
|
||||
items: [
|
||||
title: "Hotel", items: [
|
||||
{ label: "Accommodations", href: "/hotel" },
|
||||
{ label: "Room Types", href: "/hotel" },
|
||||
{ label: "Dining", href: "/hotel" },
|
||||
@@ -113,8 +64,7 @@ export default function WellnessPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Wellness",
|
||||
items: [
|
||||
title: "Wellness", items: [
|
||||
{ label: "Spa Services", href: "/wellness" },
|
||||
{ label: "Yoga Classes", href: "/wellness" },
|
||||
{ label: "Treatments", href: "/wellness" },
|
||||
@@ -122,8 +72,7 @@ export default function WellnessPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Sports Center",
|
||||
items: [
|
||||
title: "Sports Center", items: [
|
||||
{ label: "Facilities", href: "/sports" },
|
||||
{ label: "Classes & Training", href: "/sports" },
|
||||
{ label: "Memberships", href: "/sports" },
|
||||
@@ -131,8 +80,7 @@ export default function WellnessPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Company",
|
||||
items: [
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "/" },
|
||||
{ label: "Contact", href: "#contact" },
|
||||
{ label: "Careers", href: "#" },
|
||||
@@ -140,8 +88,7 @@ export default function WellnessPage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cancellation Policy", href: "#" },
|
||||
@@ -181,17 +128,11 @@ export default function WellnessPage() {
|
||||
background={{ variant: "radial-gradient" }}
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/portrait-woman-business-embrace-confidence-posing-beauty-black-african-american-isolated-gray-background_640221-39.jpg",
|
||||
alt: "Wellness guest",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/portrait-woman-business-embrace-confidence-posing-beauty-black-african-american-isolated-gray-background_640221-39.jpg", alt: "Wellness guest"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/full-length-portrait-confident-mature-businessman-formals-standing-isolated-white-background_613910-10626.jpg",
|
||||
alt: "Wellness guest",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/full-length-portrait-confident-mature-businessman-formals-standing-isolated-white-background_613910-10626.jpg", alt: "Wellness guest"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/young-adult-having-great-time-with-friends_23-2149286535.jpg",
|
||||
alt: "Wellness guest",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/young-adult-having-great-time-with-friends_23-2149286535.jpg", alt: "Wellness guest"},
|
||||
]}
|
||||
avatarText="Trusted by wellness enthusiasts worldwide"
|
||||
buttons={[
|
||||
|
||||
@@ -1,51 +1,42 @@
|
||||
"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;
|
||||
className?: string;
|
||||
textClassName?: string;
|
||||
animationDuration?: number;
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
export const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
|
||||
text,
|
||||
className = '',
|
||||
textClassName = '',
|
||||
animationDuration = 20,
|
||||
}) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 200 200"
|
||||
className={`w-16 h-16 ${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<defs>
|
||||
<path
|
||||
id="circlePath"
|
||||
d="M 100, 100 m -80, 0 a 80,80 0 1,1 160,0 a 80,80 0 1,1 -160,0"
|
||||
fill="none"
|
||||
/>
|
||||
</defs>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
className={`text-base font-bold ${textClassName}`}
|
||||
fill="currentColor"
|
||||
dominantBaseline="middle"
|
||||
>
|
||||
{logoText}
|
||||
<textPath href="#circlePath" startOffset="0%" textAnchor="start">
|
||||
{text} • {text} • {text} • {text} •{' '}
|
||||
</textPath>
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user