5 Commits

Author SHA1 Message Date
c438d82e83 Merge version_2 into main
Merge version_2 into main
2026-03-28 12:39:06 +00:00
d34d01717a Remove watermark 2026-03-28 12:39:00 +00:00
8031ddcf24 Merge version_2 into main
Merge version_2 into main
2026-03-22 17:32:47 +00:00
1f6eb89138 Update src/app/styles/variables.css 2026-03-22 17:32:44 +00:00
fb03cbcdf8 Update src/app/page.tsx 2026-03-22 17:32:43 +00:00
3 changed files with 56 additions and 171 deletions

View File

@@ -4,7 +4,6 @@ import { Inter } from "next/font/google";
import "./globals.css"; import "./globals.css";
import "@/lib/gsap-setup"; import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Public_Sans } from "next/font/google"; import { Public_Sans } from "next/font/google";
@@ -59,7 +58,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${publicSans.variable} ${inter.variable} antialiased`}> <body className={`${publicSans.variable} ${inter.variable} antialiased`}>
<Tag />
{children} {children}
<script <script
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{

View File

@@ -32,30 +32,18 @@ export default function LandingPage() {
<NavbarStyleCentered <NavbarStyleCentered
navItems={[ navItems={[
{ {
name: "About Us", name: "About Us", id: "about"},
id: "about",
},
{ {
name: "Amenities", name: "Amenities", id: "amenities"},
id: "amenities",
},
{ {
name: "Rooms", name: "Rooms", id: "rooms"},
id: "rooms",
},
{ {
name: "Testimonials", name: "Testimonials", id: "testimonials"},
id: "testimonials",
},
{ {
name: "FAQ", name: "FAQ", id: "faq"},
id: "faq",
},
]} ]}
button={{ button={{
text: "Book Now", text: "Book Now", href: "#contact"}}
href: "#contact",
}}
brandName="Grand Hotel" brandName="Grand Hotel"
/> />
</div> </div>
@@ -63,46 +51,29 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardGallery <HeroBillboardGallery
background={{ background={{
variant: "rotated-rays-static", variant: "rotated-rays-static"}}
}}
title="Welcome to Grand Hotel" title="Welcome to Grand Hotel"
description="Experience unparalleled luxury, exceptional service, and breathtaking views. Your perfect escape awaits." description="Experience unparalleled luxury, exceptional service, and breathtaking views. Your perfect escape awaits."
buttons={[ buttons={[
{ {
text: "Book Your Stay", text: "Book Your Stay", href: "#contact"},
href: "#contact",
},
{ {
text: "Explore Rooms", text: "Explore Rooms", href: "#rooms"},
href: "#rooms",
},
]} ]}
buttonAnimation="opacity" buttonAnimation="opacity"
mediaItems={[ mediaItems={[
{ {
imageSrc: "https://pixabay.com/get/g2d8d3c32173d3dd9da18df20e7a06936cbc5c67f74af20b8f5a171dd17871c5207b45acf1dbb128323510e9185baf16e3b029fd11ffe5fc66606c625bb3b0829_1280.jpg", imageSrc: "https://pixabay.com/get/g2d8d3c32173d3dd9da18df20e7a06936cbc5c67f74af20b8f5a171dd17871c5207b45acf1dbb128323510e9185baf16e3b029fd11ffe5fc66606c625bb3b0829_1280.jpg", imageAlt: "Grand Hotel Lobby"},
imageAlt: "Grand Hotel Lobby",
},
{ {
imageSrc: "https://pixabay.com/get/gb823991771f9934534cb3de7d64436d12abae2998a5393075386a957469e2a91f9badce12786f65377f9dcbb8859b238955fdf465f031717f2ed4e866452cf02_1280.jpg", imageSrc: "https://pixabay.com/get/gb823991771f9934534cb3de7d64436d12abae2998a5393075386a957469e2a91f9badce12786f65377f9dcbb8859b238955fdf465f031717f2ed4e866452cf02_1280.jpg", imageAlt: "Hotel Infinity Pool"},
imageAlt: "Hotel Infinity Pool",
},
{ {
imageSrc: "https://pixabay.com/get/g4ee9b709bfa31776649b58a3db7a455e19b351c19dd2c6ec55d0a5be830fc99d44078a310de9162d759ac8098cf62b56929baefdb98023a98d15bc084b8988af_1280.jpg", imageSrc: "https://pixabay.com/get/g4ee9b709bfa31776649b58a3db7a455e19b351c19dd2c6ec55d0a5be830fc99d44078a310de9162d759ac8098cf62b56929baefdb98023a98d15bc084b8988af_1280.jpg", imageAlt: "Luxury Hotel Suite"},
imageAlt: "Luxury Hotel Suite",
},
{ {
imageSrc: "https://pixabay.com/get/g0755e13fb2836b23450e2a6252359d94114986921456325a2c648a9ad528fcf4d5938686d3a50c4b102e95efcbbdcf4be3752ca4075200157ac390de23be67f5_1280.jpg", imageSrc: "https://pixabay.com/get/g0755e13fb2836b23450e2a6252359d94114986921456325a2c648a9ad528fcf4d5938686d3a50c4b102e95efcbbdcf4be3752ca4075200157ac390de23be67f5_1280.jpg", imageAlt: "Hotel Restaurant Dining"},
imageAlt: "Hotel Restaurant Dining",
},
{ {
imageSrc: "https://pixabay.com/get/gcab8733ffcb78bf9b7d52242895220a0c3bef45054160dad154ecad9c4aab30209b477b059888099e3344032b0d90875844609da069943971006697bdd9331f1_1280.jpg", imageSrc: "https://pixabay.com/get/gcab8733ffcb78bf9b7d52242895220a0c3bef45054160dad154ecad9c4aab30209b477b059888099e3344032b0d90875844609da069943971006697bdd9331f1_1280.jpg", imageAlt: "Grand Hotel Exterior"},
imageAlt: "Grand Hotel Exterior",
},
{ {
imageSrc: "https://pixabay.com/get/gbd70ce05fbe4701c4e7b2c2d3bfe1ebc19a001650bb76b2682577c805b540ef3360382682f13969eb2a421f65572ca0f773957993d9a2947ea74bbaf81d66f88_1280.jpg", imageSrc: "https://pixabay.com/get/gbd70ce05fbe4701c4e7b2c2d3bfe1ebc19a001650bb76b2682577c805b540ef3360382682f13969eb2a421f65572ca0f773957993d9a2947ea74bbaf81d66f88_1280.jpg", imageAlt: "Hotel Spa Interior"},
imageAlt: "Hotel Spa Interior",
},
]} ]}
mediaAnimation="opacity" mediaAnimation="opacity"
/> />
@@ -113,19 +84,13 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
heading={[ heading={[
{ {
type: "text", type: "text", content: "A Legacy of Luxury: "},
content: "A Legacy of Luxury: ",
},
{ {
type: "text", type: "text", content: "Your Home Away From Home"},
content: "Your Home Away From Home",
},
]} ]}
buttons={[ buttons={[
{ {
text: "Learn More", text: "Learn More", href: "#"},
href: "#",
},
]} ]}
/> />
</div> </div>
@@ -138,23 +103,11 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ {
title: "Gourmet Dining", title: "Gourmet Dining", description: "Savor culinary masterpieces at our award-winning restaurant, offering exquisite dishes and fine wines.", imageSrc: "https://pixabay.com/get/g48be74ab67543c8c62f5ec1348aa39fe14ecb8390f0cd9b29565cdcd4f2225290288b231ec46af205826618ab3a729faf17e108cf5f2c943253909c5fb522ebd_1280.jpg", imageAlt: "Gourmet dining experience at the hotel restaurant"},
description: "Savor culinary masterpieces at our award-winning restaurant, offering exquisite dishes and fine wines.",
imageSrc: "https://pixabay.com/get/g48be74ab67543c8c62f5ec1348aa39fe14ecb8390f0cd9b29565cdcd4f2225290288b231ec46af205826618ab3a729faf17e108cf5f2c943253909c5fb522ebd_1280.jpg",
imageAlt: "Gourmet dining experience at the hotel restaurant",
},
{ {
title: "Luxurious Spa & Wellness", title: "Luxurious Spa & Wellness", description: "Rejuvenate your body and mind with our full-service spa, fitness center, and tranquil swimming pools.", imageSrc: "https://pixabay.com/get/g7ff5620bcc5720f1b5379dd1daf59b932b6012019d87b74f045bf0dd4fd9acf6df091822741b7d53d7b49e517aa733c53642ce413418edc2d26b10f4bc182c87_1280.jpg", imageAlt: "Luxurious spa with a serene ambiance"},
description: "Rejuvenate your body and mind with our full-service spa, fitness center, and tranquil swimming pools.",
imageSrc: "https://pixabay.com/get/g7ff5620bcc5720f1b5379dd1daf59b932b6012019d87b74f045bf0dd4fd9acf6df091822741b7d53d7b49e517aa733c53642ce413418edc2d26b10f4bc182c87_1280.jpg",
imageAlt: "Luxurious spa with a serene ambiance",
},
{ {
title: "Personalized Concierge", title: "Personalized Concierge", description: "Our dedicated concierge team is at your service 24/7, ready to fulfill every request with utmost care.", imageSrc: "https://pixabay.com/get/g74c33985de4572b03eebf2c000eae6820646f90155f5b7a08cddf7eb2a7907e468069161ec33e657f548df18f684d15a483ad1295a2437ae84e22505d98ead6b_1280.jpg", imageAlt: "Hotel concierge assisting a guest"},
description: "Our dedicated concierge team is at your service 24/7, ready to fulfill every request with utmost care.",
imageSrc: "https://pixabay.com/get/g74c33985de4572b03eebf2c000eae6820646f90155f5b7a08cddf7eb2a7907e468069161ec33e657f548df18f684d15a483ad1295a2437ae84e22505d98ead6b_1280.jpg",
imageAlt: "Hotel concierge assisting a guest",
},
]} ]}
title="Unrivaled Amenities" title="Unrivaled Amenities"
description="Indulge in a world of comfort and convenience with our exquisite hotel amenities, designed for an unforgettable stay." description="Indulge in a world of comfort and convenience with our exquisite hotel amenities, designed for an unforgettable stay."
@@ -169,29 +122,11 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
products={[ products={[
{ {
id: "standard-room", id: "standard-room", name: "Standard Room", price: "$250/night", variant: "Cozy & Comfortable", imageSrc: "https://pixabay.com/get/ge7431f40fd14ecbaf33cd0d6d3fbc2126d1da23551edbfaacf7f113416afe34daeeb33eeb483e7fbe10998f3cd74d984b0060b1fbe1f00921cb44943e87e7f23_1280.jpg", imageAlt: "Standard hotel room with a comfortable bed"},
name: "Standard Room",
price: "$250/night",
variant: "Cozy & Comfortable",
imageSrc: "https://pixabay.com/get/ge7431f40fd14ecbaf33cd0d6d3fbc2126d1da23551edbfaacf7f113416afe34daeeb33eeb483e7fbe10998f3cd74d984b0060b1fbe1f00921cb44943e87e7f23_1280.jpg",
imageAlt: "Standard hotel room with a comfortable bed",
},
{ {
id: "deluxe-room", id: "deluxe-room", name: "Deluxe Room", price: "$380/night", variant: "Spacious & Elegant", imageSrc: "https://pixabay.com/get/g415ff034dd76586e27157f2415da8c9023779ab0f799ab76a2afef6006a835e7b7fa891804b84a75990b804355c8f10a783ecd0d2ed84303a8e4e17d71926b2b_1280.jpg", imageAlt: "Deluxe hotel room with city view"},
name: "Deluxe Room",
price: "$380/night",
variant: "Spacious & Elegant",
imageSrc: "https://pixabay.com/get/g415ff034dd76586e27157f2415da8c9023779ab0f799ab76a2afef6006a835e7b7fa891804b84a75990b804355c8f10a783ecd0d2ed84303a8e4e17d71926b2b_1280.jpg",
imageAlt: "Deluxe hotel room with city view",
},
{ {
id: "executive-suite", id: "executive-suite", name: "Executive Suite", price: "$650/night", variant: "Luxury & Privacy", imageSrc: "https://pixabay.com/get/ga93fed96ded9f5f15c952f1a9177bcea374d97b9f0ef8f8165e28f35baf23428b70ddae366f6bb5ee98ba2e94185b7b5d1b6fbda3d92827940dce61827dbe86b_1280.jpg", imageAlt: "Executive hotel suite living room"},
name: "Executive Suite",
price: "$650/night",
variant: "Luxury & Privacy",
imageSrc: "https://pixabay.com/get/ga93fed96ded9f5f15c952f1a9177bcea374d97b9f0ef8f8165e28f35baf23428b70ddae366f6bb5ee98ba2e94185b7b5d1b6fbda3d92827940dce61827dbe86b_1280.jpg",
imageAlt: "Executive hotel suite living room",
},
]} ]}
title="Our Luxurious Rooms & Suites" title="Our Luxurious Rooms & Suites"
description="Discover your perfect sanctuary. Each room is meticulously designed for comfort, elegance, and an unforgettable stay." description="Discover your perfect sanctuary. Each room is meticulously designed for comfort, elegance, and an unforgettable stay."
@@ -206,25 +141,15 @@ export default function LandingPage() {
author="Sarah J." author="Sarah J."
avatars={[ avatars={[
{ {
src: "https://pixabay.com/get/g1eaf817ff2da56c13ba53486f658c1aad1c7eb89aa8a9d7adbf9d9bab18e552e7e9c9c7adf86b28966d4f7316dc4eb8f682e5b4e4bab0a4d23ccf67033b38261_1280.jpg", src: "https://pixabay.com/get/g1eaf817ff2da56c13ba53486f658c1aad1c7eb89aa8a9d7adbf9d9bab18e552e7e9c9c7adf86b28966d4f7316dc4eb8f682e5b4e4bab0a4d23ccf67033b38261_1280.jpg", alt: "Avatar of Sarah J."},
alt: "Avatar of Sarah J.",
},
{ {
src: "https://pixabay.com/get/g5e1745427b4c50bb0813a40592c65fea6e94d4b0000efc75e8194e2f859f89599bec3816348c45ad375e4fb6daec44a76b31dee0b1fbd3ad23673fb8fb997126_1280.jpg", src: "https://pixabay.com/get/g5e1745427b4c50bb0813a40592c65fea6e94d4b0000efc75e8194e2f859f89599bec3816348c45ad375e4fb6daec44a76b31dee0b1fbd3ad23673fb8fb997126_1280.jpg", alt: "Avatar of Michael C."},
alt: "Avatar of Michael C.",
},
{ {
src: "https://pixabay.com/get/gb20d0fc29bbde6b447ef3329f8fd87c9d2178684d8a2f0d849b96388023d642fc2ad6f6262ccbb38b0355fb50c27bb6ca780ca591430b9e0c277d87726d98ee6_1280.jpg", src: "https://pixabay.com/get/gb20d0fc29bbde6b447ef3329f8fd87c9d2178684d8a2f0d849b96388023d642fc2ad6f6262ccbb38b0355fb50c27bb6ca780ca591430b9e0c277d87726d98ee6_1280.jpg", alt: "Avatar of Emily R."},
alt: "Avatar of Emily R.",
},
{ {
src: "https://pixabay.com/get/g7f621216075ebab500c0f6991f738ad909f0d37ed3bedcb28986dedfcc146e342a245bbc8749e8615ee0c89c0d4871d45d8ec116ed786d863675067bd29388ef_1280.jpg", src: "https://pixabay.com/get/g7f621216075ebab500c0f6991f738ad909f0d37ed3bedcb28986dedfcc146e342a245bbc8749e8615ee0c89c0d4871d45d8ec116ed786d863675067bd29388ef_1280.jpg", alt: "Avatar of David K."},
alt: "Avatar of David K.",
},
{ {
src: "https://pixabay.com/get/gabd7e1c55c8dbcf7903bf3a53027bf09618ce7f8cc3ce841b0d504ba6e24f3aa5bdd960584bc546de061e2cd6318abf88f624357b20ffef83ff41fa661ba4d2d_1280.jpg", src: "https://pixabay.com/get/gabd7e1c55c8dbcf7903bf3a53027bf09618ce7f8cc3ce841b0d504ba6e24f3aa5bdd960584bc546de061e2cd6318abf88f624357b20ffef83ff41fa661ba4d2d_1280.jpg", alt: "Avatar of Olivia P."},
alt: "Avatar of Olivia P.",
},
]} ]}
ratingAnimation="blur-reveal" ratingAnimation="blur-reveal"
avatarsAnimation="opacity" avatarsAnimation="opacity"
@@ -237,25 +162,13 @@ export default function LandingPage() {
useInvertedBackground={true} useInvertedBackground={true}
faqs={[ faqs={[
{ {
id: "faq-1", id: "faq-1", title: "What are the check-in and check-out times?", content: "Check-in is at 3:00 PM, and check-out is at 12:00 PM. Early check-in or late check-out may be available upon request and subject to availability."},
title: "What are the check-in and check-out times?",
content: "Check-in is at 3:00 PM, and check-out is at 12:00 PM. Early check-in or late check-out may be available upon request and subject to availability.",
},
{ {
id: "faq-2", id: "faq-2", title: "Does the hotel offer airport shuttle services?", content: "Yes, we offer airport shuttle services for an additional fee. Please contact our concierge team at least 24 hours in advance to arrange your transportation."},
title: "Does the hotel offer airport shuttle services?",
content: "Yes, we offer airport shuttle services for an additional fee. Please contact our concierge team at least 24 hours in advance to arrange your transportation.",
},
{ {
id: "faq-3", id: "faq-3", title: "Is Wi-Fi available throughout the hotel?", content: "Complimentary high-speed Wi-Fi is available for all guests throughout the hotel, including rooms, common areas, and meeting facilities."},
title: "Is Wi-Fi available throughout the hotel?",
content: "Complimentary high-speed Wi-Fi is available for all guests throughout the hotel, including rooms, common areas, and meeting facilities.",
},
{ {
id: "faq-4", id: "faq-4", title: "Are pets allowed at the Grand Hotel?", content: "We are a pet-friendly hotel and welcome well-behaved dogs under 25 lbs. A non-refundable pet fee applies per stay. Please inform us in advance if you plan to bring a pet."},
title: "Are pets allowed at the Grand Hotel?",
content: "We are a pet-friendly hotel and welcome well-behaved dogs under 25 lbs. A non-refundable pet fee applies per stay. Please inform us in advance if you plan to bring a pet.",
},
]} ]}
title="Frequently Asked Questions" title="Frequently Asked Questions"
description="Find answers to common questions about your stay, bookings, and hotel services." description="Find answers to common questions about your stay, bookings, and hotel services."
@@ -269,22 +182,14 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
faqs={[ faqs={[
{ {
id: "contact-faq-1", id: "contact-faq-1", title: "How do I make a reservation?", content: "Reservations can be made directly through our website's booking engine, by phone, or via email. Our team is available to assist you."},
title: "How do I make a reservation?",
content: "Reservations can be made directly through our website's booking engine, by phone, or via email. Our team is available to assist you.",
},
{ {
id: "contact-faq-2", id: "contact-faq-2", title: "What payment methods are accepted?", content: "We accept major credit cards (Visa, Mastercard, American Express, Discover) and bank transfers. A valid credit card is required to guarantee your reservation."},
title: "What payment methods are accepted?",
content: "We accept major credit cards (Visa, Mastercard, American Express, Discover) and bank transfers. A valid credit card is required to guarantee your reservation.",
},
]} ]}
ctaTitle="Ready to book your stay?" ctaTitle="Ready to book your stay?"
ctaDescription="Contact us today to inquire about availability, special offers, or any specific requests you may have. We look forward to welcoming you." ctaDescription="Contact us today to inquire about availability, special offers, or any specific requests you may have. We look forward to welcoming you."
ctaButton={{ ctaButton={{
text: "Contact Us Now", text: "Contact Us Now", href: "mailto:info@grandhotel.com"}}
href: "mailto:info@grandhotel.com",
}}
ctaIcon={Mail} ctaIcon={Mail}
/> />
</div> </div>
@@ -294,50 +199,31 @@ export default function LandingPage() {
logoText="Grand Hotel" logoText="Grand Hotel"
columns={[ columns={[
{ {
title: "Discover", title: "Discover", items: [
items: [
{ {
label: "About Us", label: "About Us", href: "#about"},
href: "#about",
},
{ {
label: "Amenities", label: "Amenities", href: "#amenities"},
href: "#amenities",
},
{ {
label: "Rooms & Suites", label: "Rooms & Suites", href: "#rooms"},
href: "#rooms",
},
], ],
}, },
{ {
title: "Reservations", title: "Reservations", items: [
items: [
{ {
label: "Book Now", label: "Book Now", href: "#contact"},
href: "#contact",
},
{ {
label: "Special Offers", label: "Special Offers", href: "#"},
href: "#",
},
{ {
label: "Contact Us", label: "Contact Us", href: "#contact"},
href: "#contact",
},
], ],
}, },
{ {
title: "Legal", title: "Legal", items: [
items: [
{ {
label: "Privacy Policy", label: "Privacy Policy", href: "#"},
href: "#",
},
{ {
label: "Terms of Service", label: "Terms of Service", href: "#"},
href: "#",
},
], ],
}, },
]} ]}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f7f6f7; --background: #fffafa;
--card: #ffffff; --card: #fff7f7;
--foreground: #0c1325; --foreground: #1a0000;
--primary-cta: #0b07ff; --primary-cta: #e63946;
--primary-cta-text: #f7f6f7; --primary-cta-text: #fffafa;
--secondary-cta: #ffffff; --secondary-cta: #ffffff;
--secondary-cta-text: #0c1325; --secondary-cta-text: #1a0000;
--accent: #93b7ff; --accent: #f5c4c7;
--background-accent: #a8bae8; --background-accent: #f09199;
/* 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);