Compare commits
14 Commits
version_25
...
version_31
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83b2e130d8 | ||
|
|
93a02c1e80 | ||
| e238609130 | |||
|
|
0e7bd853f3 | ||
| d30606b170 | |||
|
|
9b3c370252 | ||
| 9bada32657 | |||
|
|
1271ebce90 | ||
| d74637374f | |||
|
|
b8a934daef | ||
|
|
07e87980df | ||
| 5c0ca1bc47 | |||
|
|
691b7358f1 | ||
| 86d97a6b0d |
@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
|
||||
import Layout from './components/Layout';
|
||||
import HomePage from './pages/HomePage';
|
||||
|
||||
import BookingPage from "@/pages/BookingPage";
|
||||
export default function App() {
|
||||
return (
|
||||
<Routes>
|
||||
<Route element={<Layout />}>
|
||||
<Route path="/" element={<HomePage />} />
|
||||
<Route path="/booking" element={<BookingPage />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
);
|
||||
|
||||
@@ -41,7 +41,9 @@ export default function Layout() {
|
||||
},
|
||||
{
|
||||
"name": "Contact", "href": "#contact"
|
||||
}
|
||||
},
|
||||
{ name: "Booking", href: "/booking" },
|
||||
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
17
src/pages/BookingPage.tsx
Normal file
17
src/pages/BookingPage.tsx
Normal file
@@ -0,0 +1,17 @@
|
||||
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||
|
||||
export default function BookingPage() {
|
||||
return (
|
||||
<>
|
||||
<div data-webild-section="ContactSplitForm"><ContactSplitForm
|
||||
tag="Book Your Session"
|
||||
title="Schedule Your Appointment"
|
||||
description="Easily book your preferred service or consultation with us. Fill out the form below, and we'll confirm your slot shortly."
|
||||
inputs={[{"name":"name","type":"text","placeholder":"Your Full Name","required":true},{"name":"email","type":"email","placeholder":"Your Email Address","required":true},{"name":"phone","type":"tel","placeholder":"Your Phone Number (Optional)"},{"name":"service","type":"text","placeholder":"Desired Service (e.g., Consultation)"},{"name":"date","type":"date","placeholder":"Preferred Date"}]}
|
||||
textarea={{"name":"message","placeholder":"Tell us more about your needs or questions...","rows":4}}
|
||||
buttonText="Confirm Booking"
|
||||
imageSrc="https://img.freepik.com/free-photo/young-woman-making-appointment-online_23-2149154371.jpg"
|
||||
/></div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -18,6 +18,9 @@ import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
|
||||
|
||||
|
||||
{/* webild-stub @2026-06-03T14:44:17.404Z: in the hero section on top of the big image let's add floating cards with kpi number and description. */}
|
||||
|
||||
{/* webild-stub @2026-06-03T14:42:44.419Z: in the hero section on top of the big image let's add floating cards with kpi number and description. on mouse move they should have a nice moving animation */}
|
||||
|
||||
{/* webild-stub @2026-06-03T14:40:24.768Z: add floating KPI cards in the hero section, they should move with a parallax effect as I move my mouse around in the hero section */}
|
||||
|
||||
@@ -1,10 +1,59 @@
|
||||
import React from 'react';
|
||||
import Tag from "@/components/ui/Tag";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
import ImageOrVideo from "@/components/ui/ImageOrVideo";
|
||||
import Button from "@/components/ui/Button";
|
||||
import { Check } from "lucide-react";
|
||||
|
||||
export default function AboutSection() {
|
||||
return (
|
||||
<section id="about" className="bg-background">
|
||||
<div className="max-w-content-width mx-auto px-6 text-center">
|
||||
{/* Text 'Our Legacy of Hospitality' removed as requested */}
|
||||
<section data-webild-section="about" id="about" className="bg-background py-24">
|
||||
<div className="max-w-content-width mx-auto px-6">
|
||||
<ScrollReveal variant="slide-up">
|
||||
<div className="bg-card border border-border rounded-theme p-8 md:p-12 mb-16 space-y-6 max-w-4xl mx-auto text-left">
|
||||
<Tag text="About Us" />
|
||||
<h2 className="text-4xl md:text-5xl font-bold text-foreground tracking-tight">
|
||||
A Legacy of Unparalleled Hospitality
|
||||
</h2>
|
||||
<p className="text-lg text-muted-foreground leading-relaxed">
|
||||
Nestled in the heart of the city, The Grand Hotel has been a beacon of luxury and comfort for over a century. Our commitment to excellence is reflected in every detail, from our meticulously designed rooms to our world-class dining experiences.
|
||||
</p>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 items-start">
|
||||
<ScrollReveal variant="slide-up">
|
||||
<div className="space-y-8">
|
||||
<ul className="space-y-4">
|
||||
{[
|
||||
"Award-winning fine dining restaurants",
|
||||
"World-class spa and wellness center",
|
||||
"24/7 personalized concierge service",
|
||||
"Breathtaking panoramic city views",
|
||||
"State-of-the-art fitness facilities"
|
||||
].map((item, index) => (
|
||||
<li key={index} className="flex items-center gap-3">
|
||||
<div className="flex-shrink-0 w-6 h-6 rounded-full bg-primary/10 flex items-center justify-center">
|
||||
<Check className="w-4 h-4 text-primary" />
|
||||
</div>
|
||||
<span className="text-foreground">{item}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<Button text="Discover Our Story" variant="primary" />
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
|
||||
<ScrollReveal variant="fade">
|
||||
<div className="relative h-[500px] rounded-theme overflow-hidden">
|
||||
<ImageOrVideo
|
||||
imageSrc="https://images.unsplash.com/photo-1542314831-c6a4d14d837e?q=80&w=2000&auto=format&fit=crop"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-black/10"></div>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -6,4 +6,5 @@ export interface Route {
|
||||
|
||||
export const routes: Route[] = [
|
||||
{ path: '/', label: 'Home', pageFile: 'HomePage' },
|
||||
{ path: '/booking', label: 'Booking', pageFile: 'BookingPage' },
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user