Merge version_1 into main #2

Merged
bender merged 3 commits from version_1 into main 2026-03-12 22:03:09 +00:00
3 changed files with 85 additions and 240 deletions

View File

@@ -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"

View File

@@ -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={[

View File

@@ -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;