diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 54d4fb0..1179670 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,59 +1,27 @@
import type { Metadata } from "next";
-import { Halant } from "next/font/google";
-import { Inter } from "next/font/google";
-import { Source_Sans_3 } from "next/font/google";
+import localFont from "next/font/local";
import "./globals.css";
-import { ServiceWrapper } from "@/components/ServiceWrapper";
-import Tag from "@/tag/Tag";
+import "./styles/variables.css";
+import "./styles/base.css";
-const halant = Halant({
- variable: "--font-halant", subsets: ["latin"],
- weight: ["300", "400", "500", "600", "700"],
-});
-
-const inter = Inter({
- variable: "--font-inter", subsets: ["latin"],
-});
-
-const sourceSans3 = Source_Sans_3({
- variable: "--font-source-sans-3", subsets: ["latin"],
-});
+const geistSans = localFont({
+ src: "./fonts/GeistVF.woff2", variable: "--font-geist-sans", weight: "100 900"});
+const geistMono = localFont({
+ src: "./fonts/GeistMonoVF.woff2", variable: "--font-geist-mono", weight: "100 900"});
export const metadata: Metadata = {
- title: "Luxe Spa | Premium Wellness Experience", description: "Experience luxury redefined. Book seamless spa services with zero friction. Exclusive wellness treatments curated for affluent professionals seeking premium self-care.", keywords: "luxury spa, premium wellness, booking, facial, massage therapy, spa services, wellness retreat", metadataBase: new URL("https://luxespa.com"),
- alternates: {
- canonical: "https://luxespa.com"
- },
- openGraph: {
- title: "Luxe Spa | Luxury Redefined Effortlessly", description: "Experience premium service with zero friction. Instant booking, curated exclusively for you.", url: "https://luxespa.com", siteName: "Luxe Spa", type: "website", images: [
- {
- url: "http://img.b2bpic.net/free-photo/spa-concept-with-woman-with-creme-face_23-2147817010.jpg", alt: "Luxury spa experience"
- }
- ]
- },
- twitter: {
- card: "summary_large_image", title: "Luxe Spa | Premium Wellness", description: "Luxury redefined. Book your spa experience instantly.", images: ["http://img.b2bpic.net/free-photo/candle-roses-cozy-interior-with-wide-space-calm-branding_169016-71507.jpg"]
- },
- robots: {
- index: true,
- follow: true
- }
-};
+ title: "Luxe Spa - Premium Luxury & Wellness", description: "Experience premium service with zero friction. Instant booking, curated exclusively for you. Seamless elegance in every interaction."};
export default function RootLayout({
children,
-}: Readonly<{
+}: {
children: React.ReactNode;
-}>) {
+}) {
return (
-
-
-
-
- {children}
-
+
+
+ {children}
+
-
);
}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 57ec0d1..596b48e 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -8,10 +8,15 @@ import FeatureCardMedia from '@/components/sections/feature/FeatureCardMedia';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
import ContactFaq from '@/components/sections/contact/ContactFaq';
import TeamCardFive from '@/components/sections/team/TeamCardFive';
-import FooterCard from '@/components/sections/footer/FooterCard';
-import { Sparkles, Crown, Zap, Heart, Calendar, Users, Instagram, Linkedin, Mail } from 'lucide-react';
+import FooterBase from '@/components/sections/footer/FooterBase';
+import { Sparkles, Crown, Zap, Heart, Calendar, Users, Instagram, Linkedin, Mail, Phone, MessageCircle } from 'lucide-react';
+import { useCallback } from 'react';
export default function LandingPage() {
+ const handleBooking = useCallback(() => {
+ window.open('https://calendly.com/app/availability/schedules', '_blank');
+ }, []);
+
return (
@@ -62,11 +67,11 @@ export default function LandingPage() {
{ imageSrc: "http://img.b2bpic.net/free-photo/senior-couple-relaxing-with-spa-treatment_53876-15222.jpg?_wi=1", imageAlt: "Professional services" }
]}
buttons={[
- { text: "Book Your Experience", href: "booking" },
+ { text: "Book Your Experience", onClick: handleBooking },
{ text: "Learn More", href: "about" }
]}
buttonAnimation="slide-up"
- ariaLabel="Hero section - Luxury Spa SPA"
+ ariaLabel="Hero section - Luxury Spa"
/>
@@ -78,8 +83,8 @@ export default function LandingPage() {
title="Curated Exclusively for the Discerning. Where Luxury Meets Wellness."
useInvertedBackground={false}
buttons={[
- { text: "Explore Our Philosophy", href: "#services" },
- { text: "Book a Consultation", href: "booking" }
+ { text: "Explore Our Philosophy", href: "services" },
+ { text: "Book a Consultation", onClick: handleBooking }
]}
/>
@@ -96,13 +101,13 @@ export default function LandingPage() {
animationType="slide-up"
features={[
{
- id: "1", title: "Signature Facial Treatment", description: "Indulge in our signature facial featuring premium Swiss skincare with personalized serums and multi-step rejuvenation protocol.", tag: "90 Minutes", imageSrc: "http://img.b2bpic.net/free-photo/spa-concept-with-woman-with-creme-face_23-2147817003.jpg", buttons: [{ text: "Book Now", href: "booking" }]
+ id: "1", title: "Signature Facial Treatment", description: "Indulge in our signature facial featuring premium Swiss skincare with personalized serums and multi-step rejuvenation protocol.", tag: "90 Minutes", imageSrc: "http://img.b2bpic.net/free-photo/spa-concept-with-woman-with-creme-face_23-2147817003.jpg", buttons: [{ text: "Book Now", onClick: handleBooking }]
},
{
- id: "2", title: "Holistic Massage Therapy", description: "Experience therapeutic massage blending ancient techniques with modern wellness science. Available in Swedish, deep tissue, and hot stone options.", tag: "60-120 Minutes", imageSrc: "http://img.b2bpic.net/free-photo/woman-relaxing-massage-bed-with-hot-stones-her-back_23-2147939928.jpg?_wi=2", buttons: [{ text: "Book Now", href: "booking" }]
+ id: "2", title: "Holistic Massage Therapy", description: "Experience therapeutic massage blending ancient techniques with modern wellness science. Available in Swedish, deep tissue, and hot stone options.", tag: "60-120 Minutes", imageSrc: "http://img.b2bpic.net/free-photo/woman-relaxing-massage-bed-with-hot-stones-her-back_23-2147939928.jpg?_wi=2", buttons: [{ text: "Book Now", onClick: handleBooking }]
},
{
- id: "3", title: "Bespoke Wellness Retreat", description: "Tailored multi-service packages combining facials, massages, and meditative experiences designed to your precise wellness goals.", tag: "Half or Full Day", imageSrc: "http://img.b2bpic.net/free-photo/senior-couple-relaxing-with-spa-treatment_53876-15222.jpg?_wi=2", buttons: [{ text: "Book Now", href: "booking" }]
+ id: "3", title: "Bespoke Wellness Retreat", description: "Tailored multi-service packages combining facials, massages, and meditative experiences designed to your precise wellness goals.", tag: "Half or Full Day", imageSrc: "http://img.b2bpic.net/free-photo/senior-couple-relaxing-with-spa-treatment_53876-15222.jpg?_wi=2", buttons: [{ text: "Book Now", onClick: handleBooking }]
}
]}
/>
@@ -166,7 +171,7 @@ export default function LandingPage() {
]}
ctaTitle="Book Your Luxe Experience"
ctaDescription="Reserve your personalized appointment with our wellness experts. Instant calendar access, zero wait times."
- ctaButton={{ text: "Open Calendly Booking", href: "booking" }}
+ ctaButton={{ text: "Open Calendly Booking", onClick: handleBooking }}
ctaIcon={Calendar}
useInvertedBackground={false}
animationType="slide-up"
@@ -208,14 +213,34 @@ export default function LandingPage() {