import { ArrowRight, Bed, BookOpen, Briefcase, Building, Calendar, Car, CheckCircle, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Coffee, Compass, Dumbbell, Heart, Home, Leaf, Mail, MapPin, Monitor, Network, Phone, Play, Settings, Shield, Star, Target, TreePine, TrendingUp, UserCheck, Users, Utensils, Wifi, X } from 'lucide-react'; import { motion } from 'motion/react'; import React, { useEffect, useRef, useState } from 'react'; import kautilyaVirtualTourImage from '../assets/Kautilya.png'; import { BrandedTag } from './about/BrandedTag'; import { CTABannerSection } from './CTABannerSection'; import { ImageWithFallback } from './figma/ImageWithFallback'; import { PrimaryCTAButton } from './PrimaryCTAButton'; import { navigateTo } from './Router'; import { TestimonialsSection } from './TestimonialsSection'; import { Button } from './ui/button'; import { Card, CardContent } from './ui/card'; import { Input } from './ui/input'; import { Label } from './ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './ui/select'; import { Textarea } from './ui/textarea'; // Virtual Tour Data const virtualTourStops = [ { id: 'training-amphitheater', title: 'Training Amphitheater', description: 'Inspire your audience in our largest training space featuring tiered seating and state-of-the-art presentation technology.', image: 'https://images.unsplash.com/photo-1526045004414-3e7ed02f9ca1?w=1080&h=720&fit=crop', capacity: '80-120 attendees', keyHighlight: 'Large-Scale Training Excellence', zone: 1, features: [ 'Tiered amphitheater seating', 'Professional stage', 'Advanced acoustics', 'Multiple screens', 'Live streaming capability' ] }, { id: 'collaboration-suites', title: 'Collaboration Suites', description: 'Foster deep connections and intensive learning in our intimate spaces perfect for small group work and coaching sessions.', image: 'https://images.unsplash.com/photo-1592565276431-c27e6ad5f46a?w=1080&h=720&fit=crop', capacity: '4-8 participants', keyHighlight: 'Intimate Learning Environment', zone: 2, features: [ 'Comfortable seating', 'Natural light', 'Privacy glass', 'Dedicated workspace', 'Tea/coffee station' ] }, { id: 'outdoor-pavilion', title: 'Outdoor Learning Pavilion', description: 'Connect with nature while learning in our unique outdoor space that combines fresh air with professional learning environments.', image: 'https://images.unsplash.com/photo-1571624436279-b272adf752b5?w=800&h=600&fit=crop', capacity: '20-40 participants', keyHighlight: 'Nature-Connected Learning', zone: 3, features: [ 'Weather-protected pavilion', 'Garden views', 'Fresh air environment', 'Flexible seating', 'Natural acoustics' ] }, { id: 'residential-quarters', title: 'Residential Quarters', description: 'Extend your learning journey with comfortable accommodation for multi-day programs featuring hotel-standard amenities.', image: 'https://images.unsplash.com/photo-1590490360182-c33d57733427?w=800&h=600&fit=crop', capacity: '40 single occupancy rooms', keyHighlight: 'Premium Residential Experience', zone: 4, features: [ 'Private en-suite rooms', 'Work desk and chair', 'High-speed WiFi', 'Air conditioning', 'Garden/courtyard views' ] }, { id: 'executive-boardroom', title: 'Executive Boardroom', description: 'Host high-level strategic discussions in our sophisticated boardroom designed for executive leadership meetings.', image: 'https://images.unsplash.com/photo-1497366216548-37526070297c?w=1080&h=720&fit=crop', capacity: '12-16 executives', keyHighlight: 'Strategic Leadership Hub', zone: 5, features: [ 'Premium boardroom table', 'Executive seating', '4K presentation displays', 'Secure video conferencing', 'Integrated sound system' ] }, { id: 'innovation-lab', title: 'Innovation Lab', description: 'Spark creativity and innovation in our flexible workspace designed for design thinking and collaborative problem-solving.', image: 'https://images.unsplash.com/photo-1497366412874-3415097a27e7?w=1080&h=720&fit=crop', capacity: '15-25 participants', keyHighlight: 'Creative Collaboration Space', zone: 6, features: [ 'Modular furniture setup', 'Whiteboard walls', 'Breakout alcoves', 'Technology integration', 'Flexible lighting' ] }, { id: 'wellness-retreat', title: 'Wellness & Reflection Area', description: 'Recharge and reflect in our tranquil wellness space designed for mindfulness and personal development sessions.', image: 'https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?w=1080&h=720&fit=crop', capacity: '8-15 participants', keyHighlight: 'Mindful Leadership Development', zone: 7, features: [ 'Meditation seating area', 'Natural lighting', 'Acoustic privacy', 'Aromatherapy system', 'Garden views' ] }, { id: 'digital-learning-studio', title: 'Digital Learning Studio', description: 'Experience cutting-edge digital learning with our high-tech studio equipped for virtual reality and interactive sessions.', image: 'https://images.unsplash.com/photo-1560472354-b33ff0c44a43?w=1080&h=720&fit=crop', capacity: '10-20 participants', keyHighlight: 'Future of Learning Technology', zone: 8, features: [ 'VR/AR capabilities', 'Interactive displays', 'Recording equipment', 'Livestream setup', 'Digital collaboration tools' ] } ]; const targetAudience = [ { title: "Corporate Training Teams", description: "Organizations seeking premium residential learning experiences for their leadership development programs", icon: Building, challenges: ["Facility booking complexity", "Quality accommodation needs", "Program logistics", "Cost management"] }, { title: "Leadership Development Providers", description: "Training organizations and consultancies requiring world-class facilities for executive programs", icon: Users, challenges: ["Facility availability", "Technology requirements", "Catering quality", "Professional environment"] }, { title: "Executive Teams & Boards", description: "Senior leadership teams planning strategic retreats and intensive development programs", icon: Target, challenges: ["Privacy requirements", "Executive-level facilities", "Strategic planning spaces", "Convenience needs"] } ]; const useCases = [ { title: "Leadership Residential Programs", description: "When organizations need premium facilities for multi-day leadership development programs", icon: Home, scenario: "Executive development programs requiring 2-7 day residential experiences" }, { title: "Strategic Planning Retreats", description: "When leadership teams need focused environments for strategic planning and decision-making", icon: Target, scenario: "Board meetings, strategic sessions, or executive team planning retreats" }, { title: "Learning & Development Events", description: "When organizations require professional venues for training, workshops, and development events", icon: BookOpen, scenario: "Corporate training programs, workshops, or learning conferences" }, { title: "Team Building & Culture Events", description: "When teams need inspiring environments for team building and cultural development activities", icon: Heart, scenario: "Team building events, culture workshops, or organizational celebrations" } ]; const facilityFeatures = [ { phase: "Premium Accommodations", duration: "World-Class Comfort", activities: ["Luxury single and double rooms", "Executive suites", "24/7 concierge service", "High-speed internet throughout"], deliverables: ["Comfortable stay experience", "Professional environment", "Seamless connectivity", "Executive-level service"] }, { phase: "Learning & Meeting Spaces", duration: "State-of-the-Art Facilities", activities: ["Modern conference rooms", "Interactive learning spaces", "Breakout areas", "Outdoor meeting spaces"], deliverables: ["Flexible learning environments", "Technology-enabled spaces", "Collaborative areas", "Natural settings"] }, { phase: "Dining & Recreation", duration: "Complete Experience", activities: ["Gourmet dining options", "Healthy meal programs", "Recreation facilities", "Wellness amenities"], deliverables: ["Nutritious meal programs", "Networking opportunities", "Physical wellness", "Stress relief activities"] } ]; const expectedOutcomes = [ { metric: "96%", description: "Client satisfaction with facility quality and service", icon: Heart, category: "Satisfaction" }, { metric: "87%", description: "Improvement in program engagement in residential setting", icon: TrendingUp, category: "Engagement" }, { metric: "92%", description: "Would recommend Kautilya Facility to other organizations", icon: Star, category: "Recommendation" }, { metric: "78%", description: "Return rate for repeat bookings and programs", icon: Building, category: "Loyalty" } ]; // Facility data for BookingModal const facilities = [ { id: 'learning-facility', name: 'Learning Facility', description: 'A purpose-built campus for immersive leadership learning. State-of-the-art facilities designed to foster transformation, collaboration, and growth.', capacity: '80-120 people', icon: Building, features: [ 'State-of-the-art training halls', 'Advanced AV systems', 'Flexible seating arrangements', 'High-speed connectivity', 'Professional learning environment' ], videoUrl: 'https://example.com/virtual-tour' } ]; // Booking Form Data Interface for BookingModal interface BookingFormData { companyName: string; contactName: string; email: string; phone: string; role: string; teamSize: string; facilityType: string; preferredDate: string; additionalRequirements: string; } export function LearningFacilityNew() { // Deluxe Living & Recreation Carousel state and functionality const [currentSlide, setCurrentSlide] = useState(0); const carouselRef = useRef(null); // Virtual Tour Carousel state and functionality const [currentTourSlide, setCurrentTourSlide] = useState(0); const tourCarouselRef = useRef(null); // Hero Background Image Carousel state and functionality const [currentHeroBackground, setCurrentHeroBackground] = useState(0); // Booking Modal state const [isModalOpen, setIsModalOpen] = useState(false); const [selectedFacility, setSelectedFacility] = useState(null); // Conference/Classroom room background images array for hero section const heroBackgroundImages = [ { src: "https://images.unsplash.com/photo-1588865198054-c83788106132?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxtb2Rlcm4lMjBjb25mZXJlbmNlJTIwcm9vbSUyMGxhcmdlJTIwc3BhY2V8ZW58MXx8fHwxNzU2OTAyMzYyfDA&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral", alt: "Modern Conference Room" }, { src: "https://images.unsplash.com/photo-1613186145425-5bb4eca455d7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxleGVjdXRpdmUlMjBib2FyZHJvb20lMjBtZWV0aW5nJTIwc3BhY2V8ZW58MXx8fHwxNzU2OTAyMzY2fDA&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral", alt: "Executive Boardroom" }, { src: "https://images.unsplash.com/photo-1752579664702-e6609516e21a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxidXNpbmVzcyUyMHRyYWluaW5nJTIwY2xhc3Nyb29tJTIwbW9kZXJufGVufDF8fHx8MTc1NjkwMjM3MHww&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral", alt: "Business Training Classroom" }, { src: "https://images.unsplash.com/photo-1718224326658-489bbfbeb2ca?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxjb3Jwb3JhdGUlMjBzZW1pbmFyJTIwaGFsbCUyMGF1ZGl0b3JpdW18ZW58MXx8fHwxNzU2OTAyMzc2fDA&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral", alt: "Corporate Seminar Hall" }, { src: "https://images.unsplash.com/photo-1655392032233-c95aedd27ad4?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w3Nzg4Nzd8MHwxfHNlYXJjaHwxfHxwcm9mZXNzaW9uYWwlMjB3b3Jrc2hvcCUyMHZlbnVlJTIwc3BhY2V8ZW58MXx8fHwxNzU2OTAyMzc5fDA&ixlib=rb-4.1.0&q=80&w=1080&utm_source=figma&utm_medium=referral", alt: "Professional Workshop Venue" } ]; // Responsive carousel settings const getCarouselSettings = () => { if (typeof window !== 'undefined') { if (window.innerWidth >= 1200) { return { cardsPerView: 3, cardWidth: 33.333, slideWidth: 33.333 }; } else if (window.innerWidth >= 768) { return { cardsPerView: 2, cardWidth: 50, slideWidth: 50 }; } else { return { cardsPerView: 1, cardWidth: 100, slideWidth: 100 }; } } return { cardsPerView: 3, cardWidth: 33.333, slideWidth: 33.333 }; }; // Virtual tour carousel settings const getTourCarouselSettings = () => { if (typeof window !== 'undefined') { if (window.innerWidth >= 1200) { return { cardsPerView: 5, cardWidth: 20, slideWidth: 20 }; } else if (window.innerWidth >= 768) { return { cardsPerView: 3, cardWidth: 33.333, slideWidth: 33.333 }; } else { return { cardsPerView: 1, cardWidth: 100, slideWidth: 100 }; } } return { cardsPerView: 5, cardWidth: 20, slideWidth: 20 }; }; const [carouselSettings, setCarouselSettings] = useState(getCarouselSettings()); const [tourCarouselSettings, setTourCarouselSettings] = useState(getTourCarouselSettings()); const { cardsPerView, cardWidth, slideWidth } = carouselSettings; const { cardsPerView: tourCardsPerView, cardWidth: tourCardWidth, slideWidth: tourSlideWidth } = tourCarouselSettings; const maxSlide = Math.max(0, facilityFeatures.length - cardsPerView); const maxTourSlide = Math.max(0, virtualTourStops.length - tourCardsPerView); const [expandedUseCase, setExpandedUseCase] = useState(null); const [expandedFeature, setExpandedFeature] = useState(0); // Handle window resize useEffect(() => { const handleResize = () => { setCarouselSettings(getCarouselSettings()); setTourCarouselSettings(getTourCarouselSettings()); setCurrentSlide(0); // Reset to first slide on resize setCurrentTourSlide(0); // Reset tour carousel on resize }; window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); const scrollLeft = () => { if (currentSlide > 0) { setCurrentSlide(currentSlide - 1); } }; const scrollRight = () => { if (currentSlide < maxSlide) { setCurrentSlide(currentSlide + 1); } }; // Virtual Tour Carousel navigation const scrollTourLeft = () => { if (currentTourSlide > 0) { setCurrentTourSlide(currentTourSlide - 1); } }; const scrollTourRight = () => { if (currentTourSlide < maxTourSlide) { setCurrentTourSlide(currentTourSlide + 1); } }; const [currentTourStop, setCurrentTourStop] = useState(0); const [isVirtualTourActive, setIsVirtualTourActive] = useState(false); const [expandedTourCard, setExpandedTourCard] = useState(null); useEffect(() => { console.log('LearningFacility component mounted'); // Debug log window.scrollTo(0, 0); // Listen for custom booking modal event from CTAPopupModal const handleOpenBookingModal = () => { console.log('Custom booking modal event received'); // Debug log handleBookNow(); }; window.addEventListener('openBookingModal', handleOpenBookingModal); // Also check if we should auto-open the booking modal based on URL parameters const urlParams = new URLSearchParams(window.location.search); if (urlParams.get('autoBooking') === 'true') { console.log('Auto-opening booking modal from URL parameter'); // Debug log setTimeout(() => handleBookNow(), 100); } return () => { window.removeEventListener('openBookingModal', handleOpenBookingModal); }; }, []); // Hero background image carousel auto-rotation effect useEffect(() => { const interval = setInterval(() => { setCurrentHeroBackground((prev) => (prev + 1) % heroBackgroundImages.length); }, 3000); // Change background image every 3 seconds return () => clearInterval(interval); }, [heroBackgroundImages.length]); const handleStartTour = () => { setIsVirtualTourActive(true); setCurrentTourStop(0); }; const handleNextStop = () => { if (currentTourStop < virtualTourStops.length - 1) { setCurrentTourStop(currentTourStop + 1); } }; const handlePrevStop = () => { if (currentTourStop > 0) { setCurrentTourStop(currentTourStop - 1); } }; const handleJumpToStop = (index: number) => { setCurrentTourStop(index); }; const handleBookNow = () => { // Set the first facility as default for booking setSelectedFacility(facilities[0]); setIsModalOpen(true); }; const handleCloseModal = () => { setIsModalOpen(false); setSelectedFacility(null); }; return (
{/* Hero Section */} {/* Service-style hero: full-bleed rotating background images with dark gradient, centered content */}
{/* Rotating Background images + overlay */}
{heroBackgroundImages.map((image, index) => (
))}
{/* Centered content */}
World-Class Facility

Learning Facility

A purpose-built campus for immersive leadership learning. State-of-the-art facilities designed to foster transformation, collaboration, and growth.

{/* Background Image Indicators */}
{/* Current Image Label */}

{heroBackgroundImages[currentHeroBackground]?.alt}

KLC Learning Spaces

{/* Carousel Indicators */}
{heroBackgroundImages.map((_, index) => (
{/* 1. What Is This Service */}

Premium Learning Campus & Residential Programs

Kautilya Facility is a world-class residential learning campus designed specifically for executive education and leadership development programs. Our premium facility combines luxury accommodations, state-of-the-art learning spaces, and comprehensive amenities to create an immersive environment that maximizes learning outcomes and program engagement.

The Business Problem It Solves: Many organizations struggle to find appropriate venues that combine professional learning environments with quality accommodations for residential programs. Standard hotels lack the specialized learning infrastructure, while conference centers often compromise on accommodation quality. Our facility eliminates these compromises by providing an integrated solution designed specifically for executive learning.

Premium Campus

World-class residential learning campus with luxury amenities and sophisticated infrastructure

Learning-Focused Design

Specialized spaces designed for optimal learning and development with cutting-edge technology

96% Satisfaction Rate

Exceptional client satisfaction with facility quality, service excellence, and learning outcomes

{/* 2. Who Is It For */}

Target Audience

Designed for organizations and teams seeking premium residential learning and strategic planning experiences.

{targetAudience.map((audience, index) => (

{audience.title}

{audience.description}

Common Challenges:

    {audience.challenges.map((challenge, challengeIndex) => (
  • {challenge}
  • ))}
))}
{/* 3. When to Use It */}

When Organizations Need Premium Learning Facilities

Ideal for organizations seeking world-class residential learning experiences and strategic planning sessions.

{useCases.map((useCase, index) => (
{/* Icon and Title */}

{useCase.title}

{useCase.description}

{/* Ideal For Indicator */}
{useCase.scenario}
))}
{/* 4. Our Approach */}

Integrated Learning Campus Experience

Our comprehensive approach combines premium accommodations, state-of-the-art learning facilities, and exceptional service delivery.

{/* Flowchart Container with Connecting Lines */}
{/* Desktop: Horizontal Flowchart */}
{/* Row 1: Facilities, Services, Technology */}
{/* Facilities */}

Premium Facilities

World-class accommodations and learning environments

Luxury Accommodations
Learning Spaces
Wellness Facilities
{/* Arrow 1→2 */}
{/* Services */}

Service Excellence

Exceptional hospitality and dining experiences

Gourmet Catering
24/7 Concierge
Event Management
{/* Arrow 2→3 */}
{/* Technology */}

Technology Infrastructure

Advanced technology for seamless learning delivery

High-Speed Internet
AV Equipment
Tech Support
{/* Vertical Connector - Center Flow Down */}
{/* Row 2: Customization, Support */}
{/* Customization */}

Flexible Customization

Adaptable spaces configured to your program needs

Room Configurations
Custom Setups
Branding Options
{/* Arrow 4→5 */}
{/* Dedicated Support */}

Dedicated Support

Expert team ensuring flawless program execution

Event Coordinators
Facility Staff
Technical Team
{/* Final Vertical Connector - Center Flow Down to Outcome */}
{/* Row 3: Expected Outcome - Centered */}

Expected Outcome

An immersive learning environment that enhances focus, engagement, and program effectiveness for transformational results.

Exceptional Learning Experience
{/* Tablet & Mobile: Vertical Flowchart */}
{/* Facilities */}

Premium Facilities

World-class accommodations and learning environments

Luxury Accommodations
Learning Spaces
Wellness Facilities
{/* Connector Arrow */}
{/* Services */}

Service Excellence

Exceptional hospitality and dining experiences

Gourmet Catering
24/7 Concierge
Event Management
{/* Connector Arrow */}
{/* Technology */}

Technology Infrastructure

Advanced technology for seamless learning delivery

High-Speed Internet
AV Equipment
Tech Support
{/* Connector Arrow */}
{/* Customization */}

Flexible Customization

Adaptable spaces configured to your program needs

Room Configurations
Custom Setups
Branding Options
{/* Connector Arrow */}
{/* Dedicated Support */}

Dedicated Support

Expert team ensuring flawless program execution

Event Coordinators
Facility Staff
Technical Team
{/* Connector Arrow */}
{/* Expected Outcome */}

Expected Outcome

An immersive learning environment that enhances focus, engagement, and program effectiveness for transformational results.

Exceptional Learning Experience
{/* Framework Effectiveness */} {/*

Facility Excellence Metrics

Our integrated campus approach delivers superior learning outcomes through exceptional environments.

96%

Guest Satisfaction Rating

92%

Program Effectiveness Increase

89%

Repeat Booking Rate

*/}
{/* 5. Sample Program Format */}

Complete Campus Experience

A comprehensive facility experience designed to maximize learning outcomes and participant satisfaction.

{facilityFeatures.map((feature, index) => (
setExpandedFeature(expandedFeature === index ? null : index)} >
{index + 1}

{feature.phase}

{feature.duration}
{expandedFeature === index ? ( ) : ( )}
{expandedFeature === index && (

Available Features

    {feature.activities.map((activity, activityIndex) => (
  • {activity}
  • ))}

Experience Benefits

    {feature.deliverables.map((deliverable, deliverableIndex) => (
  • {deliverable}
  • ))}
)}
))}
{/* 6. Impact You Can Expect */}

Measurable Facility Outcomes

Organizations consistently report high satisfaction and improved program outcomes when using our premium facility.

{/* Outcomes Grid */}
{expectedOutcomes.map((outcome, index) => (
{/*
{outcome.metric}
*/}

{outcome.category}

{outcome.description}

{/*

{outcome.category}

*/}
))}

Additional Facility Benefits

Premium Environment

World-class facilities that enhance learning and networking

Exceptional Service

Dedicated support staff and personalized service excellence

Strategic Location

Convenient location with peaceful, focused learning environment

{/* Booking Modal */} {/* Testimonials Section - Using home page testimonials with custom headers */} {/* Facility Tour - How to Reach Us Section */}
{/* Header */}
FACILITY TOUR

We Look Forward to Host You

Experience our world-class facility firsthand. Here's everything you need to know about reaching us and planning your visit.

{/* Content Grid */}
{/* Contact Information */}
{/* Venue Details */}

Venue Details

Kautilya Leadership Services

R.S. No. 5/6, Savaroli Kharpada Road,

Dhamani Taluk, Khalapur, District Raigad – 410201

{/* Corporate Booking & Distance in one row */}
{/* Corporate Booking */}

Corporate Booking

Supriya Salvi

+91 9819232703 / 9326091775
connect@kautilyaservices.in
{/* Distance Information */}

How to Reach Us

From Lonavala: 23 Km
From Mumbai Airport: 82 Km
From Pune Airport: 94 Km
{/* Location Map */}

Kautilya Leadership Centre

Raigad, Maharashtra

{/* Quick Actions */}
{/* CTA Section - Using standardized home page CTA */}
); } // Utility functions for calendar const getDaysInMonth = (date: Date) => { return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(); }; const getFirstDayOfMonth = (date: Date) => { return new Date(date.getFullYear(), date.getMonth(), 1).getDay(); }; const isDateAvailable = (date: Date) => { // Simple availability check - you can replace this with your actual logic const today = new Date(); today.setHours(0, 0, 0, 0); return date >= today; }; const formatDate = (date: Date) => { return date.toISOString().split('T')[0]; }; // Modal Component for Virtual Tour and Booking function BookingModal({ facility, isOpen, onClose }: { facility: typeof facilities[0] | null; isOpen: boolean; onClose: () => void; }) { const [bookingForm, setBookingForm] = useState({ companyName: '', contactName: '', email: '', phone: '', role: '', teamSize: '', facilityType: facility?.name || '', preferredDate: '', additionalRequirements: '' }); // Calendar state const [currentMonth, setCurrentMonth] = useState(new Date()); const [selectedDate, setSelectedDate] = useState(null); // Lock body scroll when modal is open React.useEffect(() => { if (isOpen) { document.body.style.overflow = 'hidden'; document.body.style.paddingRight = '15px'; // Prevent layout shift from scrollbar } else { document.body.style.overflow = ''; document.body.style.paddingRight = ''; } // Cleanup on unmount or when modal closes return () => { document.body.style.overflow = ''; document.body.style.paddingRight = ''; }; }, [isOpen]); const handleFormSubmit = (e: React.FormEvent) => { e.preventDefault(); console.log('Booking form submitted:', bookingForm); // Here you would typically send the form data to your backend alert('Booking request submitted successfully! We will contact you soon.'); onClose(); }; const updateFormField = (field: keyof BookingFormData, value: string) => { setBookingForm(prev => ({ ...prev, [field]: value })); }; // Calendar functions const handleDateSelect = (date: Date) => { if (isDateAvailable(date)) { setSelectedDate(date); updateFormField('preferredDate', formatDate(date)); } }; const navigateMonth = (direction: 'prev' | 'next') => { setCurrentMonth(prev => { const newMonth = new Date(prev); if (direction === 'prev') { newMonth.setMonth(prev.getMonth() - 1); } else { newMonth.setMonth(prev.getMonth() + 1); } return newMonth; }); }; const renderCalendar = () => { const daysInMonth = getDaysInMonth(currentMonth); const firstDay = getFirstDayOfMonth(currentMonth); const days = []; const monthNames = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]; const dayNames = ['S', 'M', 'T', 'W', 'T', 'F', 'S']; // Empty cells for days before the first day of the month for (let i = 0; i < firstDay; i++) { days.push(
); } // Days of the month for (let day = 1; day <= daysInMonth; day++) { const date = new Date(currentMonth.getFullYear(), currentMonth.getMonth(), day); const isAvailable = isDateAvailable(date); const isSelected = selectedDate && date.getFullYear() === selectedDate.getFullYear() && date.getMonth() === selectedDate.getMonth() && date.getDate() === selectedDate.getDate(); days.push( ); } return (
{/* Calendar Header */}

{monthNames[currentMonth.getMonth()]} {currentMonth.getFullYear()}

{/* Day Names */}
{dayNames.map((day, index) => (
{day}
))}
{/* Calendar Grid */}
{days}
); }; if (!isOpen || !facility) return null; return (
e.stopPropagation()} > {/* Modal Header - Compact */}

Kautilya Leadership Centre

Capacity: {facility.capacity} people

{/* Modal Content - Side by Side Layout No Scroll */}
{/* Left Side - Virtual Tour */}
{/* Video Section - Compact */}

Virtual Tour

{/* Virtual Tour Container - Developer-Ready for 360 Viewer or Video */}
{/* Interactive Controls Overlay (optional) */}
360° Virtual Tour
Click & Drag to Explore
{/* Compact Info Section */}
{/* About - Compact */}

About This Space

{facility.description}

{/* Features - Compact */}

Key Features

{facility.features.slice(0, 3).map((feature, index) => (
{feature}
))}
{/* Quick Stats - Compact */}
Capacity
{facility.capacity}
Zone
Premium
{/* Action Button - Compact */}
{/* Right Side - Booking Form */}
{/* Form Header */}

Book This Space

{/* Form Content with Compact Spacing */}
{/* Company Information Section */}

Company Information

updateFormField('companyName', e.target.value)} placeholder="Company" className="h-8 text-sm border border-gray-300 rounded focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all duration-200 placeholder:text-gray-400 placeholder:opacity-50" />
updateFormField('contactName', e.target.value)} placeholder="Name" className="h-8 text-sm border border-gray-300 rounded focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all duration-200 placeholder:text-gray-400 placeholder:opacity-50" />
updateFormField('email', e.target.value)} placeholder="email@company.com" className="h-8 text-sm border border-gray-300 rounded focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all duration-200 placeholder:text-gray-400 placeholder:opacity-50" />
updateFormField('phone', e.target.value)} placeholder="+91 98765 43210" className="h-8 text-sm border border-gray-300 rounded focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all duration-200 placeholder:text-gray-400 placeholder:opacity-50" />
{/* Booking Details Section */}

Select Your Date

{/* Calendar Date Selection */}
{renderCalendar()} {selectedDate && (
Selected: {selectedDate.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' })}
)}
{/* Additional Requirements */}