From 819f7a6865bb72486c6e4ae4023a2615acc82de5 Mon Sep 17 00:00:00 2001 From: priyanshuvish Date: Fri, 5 Sep 2025 17:59:33 +0530 Subject: [PATCH] changes done --- src/components/LearningFacilityNew.tsx | 548 +----------------------- src/components/LearningOnline.tsx | 194 ++++----- src/components/ProgrammeDetail.tsx | 551 ++++++++++++------------- src/components/ServicesSection.tsx | 55 ++- src/components/StatsSection.tsx | 9 +- src/components/VirtualSpaceSection.tsx | 37 +- 6 files changed, 407 insertions(+), 987 deletions(-) diff --git a/src/components/LearningFacilityNew.tsx b/src/components/LearningFacilityNew.tsx index 853014b..08176d6 100644 --- a/src/components/LearningFacilityNew.tsx +++ b/src/components/LearningFacilityNew.tsx @@ -871,155 +871,6 @@ export function LearningFacilityNew() { - {/* Who It's For Section - match Services page (left intro + right accordion list) */} -
-
- {/* Our Expertise "Our Services" style - horizontal carousel cards */} -
- {/* Header with eyebrow and controls */} -
-
-
-
- LEARNING FACILITY -
-

Who It's For

-

- Our learning facility supports immersive leadership programs for corporate teams, learning groups, - and professional networks seeking high-impact environments. -

-
- - {/* Simple controls that scroll the container; no state changes outside this section */} -
- 01 / {String(targetAudience.length).padStart(2, '0')} -
- - -
-
-
- - {/* Carousel */} -
-
- -
-
-
-
-
{/* Deluxe Living & Recreation Section */}
@@ -1125,400 +976,6 @@ export function LearningFacilityNew() {
- {/* Amenities Section */} -
-
-
-

- World-Class Amenities -

-

- Premium amenities and services to ensure comfort, productivity, and an - exceptional learning environment for all participants. -

-
- -
-
-
-
- {[0, 1].map((loop) => ( -
- {amenities.map((amenity, index) => { - const Icon = amenity.icon; - return ( -
-
- -
- - {amenity.name} - -
- ); - })} -
- ))} -
-
- {[0, 1].map((loop) => ( -
- {amenities.map((amenity, index) => { - const Icon = amenity.icon; - return ( -
-
- -
- - {amenity.name} - -
- ); - })} -
- ))} -
-
-
-
- - {/* Virtual Tour Section */} -
-
- {!isVirtualTourActive ? ( - /* Tour Preview */ -
- {/* Header Section - left aligned with navigation controls */} -
-
- -

- Explore Our Learning Spaces -

-

- Take an interactive tour of our eight distinct learning environments, each designed to inspire transformation and foster collaboration. -

-
- - {/* Navigation Controls - Bottom right positioning */} -
- - {String(currentTourSlide + 1).padStart(2, '0')} / {String(Math.ceil(virtualTourStops.length / tourCardsPerView)).padStart(2, '0')} - -
- - -
-
-
- - {/* Carousel Container */} -
-
- {virtualTourStops.map((stop) => ( -
- setExpandedTourCard(stop.id)} - > - {/* Image background */} -
- - {/* Gradient overlay for legibility */} -
- - {/* Glass badge (Zone) */} -
-
- -
- - Zone {stop.zone} - -
- - {/* Text overlay inside the image */} -
-

{stop.title}

-

{stop.description}

-
-
-
-
- ))} -
-
- - {/* Start Tour CTA */} -
-
- Preview complete? Launch the full interactive tour to navigate each zone. -
-
- -
-
-
- ) : ( - /* Active Virtual Tour */ -
- {/* Tour Header */} -
- - Interactive Virtual Tour - -

- {virtualTourStops[currentTourStop].title} -

-

- {virtualTourStops[currentTourStop].description} -

-
- - {/* Tour Image */} -
-
- -
- - {/* Navigation Arrows */} - - - - - {/* Stop Indicator */} -
-
- - {currentTourStop + 1} of {virtualTourStops.length} - -
-
-
- - {/* Tour Features */} -
-
-

Key Features

-
- {virtualTourStops[currentTourStop].features.map((feature, index) => ( -
- - {feature} -
- ))} -
-
- -
-

Space Details

-
-
- -
-
Zone {virtualTourStops[currentTourStop].zone}
-
Campus Location
-
-
-
- -
-
{virtualTourStops[currentTourStop].capacity}
-
Capacity
-
-
-
-
-
- - {/* Tour Navigation */} -
- {virtualTourStops.map((_, index) => ( -
- - {/* End Tour Button */} -
- -
-
- )} - - {/* Tour Card Modal */} - setExpandedTourCard(null)}> - - {expandedTourCard && ( - <> - -
-
- -
- - {virtualTourStops.find(stop => stop.id === expandedTourCard)?.title} - - - Explore this learning space in detail. You can start an interactive tour from this location or book this specific area for your next event. - -
-
- -
- {/* Featured Image */} -
- stop.id === expandedTourCard)?.image || ''} - alt={virtualTourStops.find(stop => stop.id === expandedTourCard)?.title || ''} - className="w-full h-full object-cover" - /> -
- - {virtualTourStops.find(stop => stop.id === expandedTourCard)?.keyHighlight} - -
-
- - {/* Description */} -

- {virtualTourStops.find(stop => stop.id === expandedTourCard)?.description} -

- - {/* Action Buttons */} -
- - -
-
- - )} -
-
-
-
- {/* Booking Modal */} @@ -1803,8 +1260,6 @@ export function LearningFacilityNew() { tagText="Facility Excellence" /> - {/* CTA Section - Using standardized home page CTA */} - {/* Facility Tour - How to Reach Us Section */}
@@ -1951,6 +1406,9 @@ export function LearningFacilityNew() {
+ + {/* CTA Section - Using standardized home page CTA */} + ); diff --git a/src/components/LearningOnline.tsx b/src/components/LearningOnline.tsx index 710b7eb..fca97a3 100644 --- a/src/components/LearningOnline.tsx +++ b/src/components/LearningOnline.tsx @@ -5,11 +5,11 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from './ui/tabs'; import { Card, CardContent, CardHeader, CardTitle } from './ui/card'; import { Input } from './ui/input'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './ui/select'; -import { - Play, - Users, - Clock, - ChevronRight, +import { + Play, + Users, + Clock, + ChevronRight, ChevronLeft, GraduationCap, MessageCircle, @@ -47,7 +47,7 @@ import { useCart } from './CartContext'; // Course Categories const courseCategories = [ 'Leadership Fundamentals', - 'Decision Making & Strategy', + 'Decision Making & Strategy', 'Perspective & Risk', 'Communication & Influence', 'Change & Innovation' @@ -232,7 +232,7 @@ export function LearningOnline() { const priceRanges = ['All Prices', 'Under ₹20,000', '₹20,000 - ₹35,000', '₹35,000 - ₹50,000', 'Over ₹50,000']; const durations = ['All Durations', 'Under 6 hours', '6-10 hours', '10-15 hours', 'Over 15 hours']; const ratings = ['All Ratings', '4.5+ Stars', '4.0+ Stars', '3.5+ Stars']; - + const sortOptions = [ { value: 'Most Popular', label: 'Most Popular' }, { value: 'newest', label: 'Newest First' }, @@ -251,35 +251,35 @@ export function LearningOnline() { // Filter and sort courses const filteredCourses = featuredCourses.filter(course => { const matchesSearch = course.title.toLowerCase().includes(searchTerm.toLowerCase()) || - course.description.toLowerCase().includes(searchTerm.toLowerCase()) || - course.category.toLowerCase().includes(searchTerm.toLowerCase()); - + course.description.toLowerCase().includes(searchTerm.toLowerCase()) || + course.category.toLowerCase().includes(searchTerm.toLowerCase()); + const matchesCategory = selectedCategory === 'All Categories' || course.category === selectedCategory; const matchesLevel = selectedLevel === 'All Levels' || course.level === selectedLevel; const matchesFormat = selectedFormat === 'All Formats' || course.format === selectedFormat; - + // Price filter - Updated for Rupees const price = parseRupeePrice(course.price); const matchesPrice = selectedPriceRange === 'All Prices' || - (selectedPriceRange === 'Under ₹20,000' && price < 20000) || - (selectedPriceRange === '₹20,000 - ₹35,000' && price >= 20000 && price <= 35000) || - (selectedPriceRange === '₹35,000 - ₹50,000' && price >= 35000 && price <= 50000) || - (selectedPriceRange === 'Over ₹50,000' && price > 50000); - + (selectedPriceRange === 'Under ₹20,000' && price < 20000) || + (selectedPriceRange === '₹20,000 - ₹35,000' && price >= 20000 && price <= 35000) || + (selectedPriceRange === '₹35,000 - ₹50,000' && price >= 35000 && price <= 50000) || + (selectedPriceRange === 'Over ₹50,000' && price > 50000); + // Duration filter const durationHours = parseInt(course.duration); const matchesDuration = selectedDuration === 'All Durations' || - (selectedDuration === 'Under 6 hours' && durationHours < 6) || - (selectedDuration === '6-10 hours' && durationHours >= 6 && durationHours <= 10) || - (selectedDuration === '10-15 hours' && durationHours >= 10 && durationHours <= 15) || - (selectedDuration === 'Over 15 hours' && durationHours > 15); - + (selectedDuration === 'Under 6 hours' && durationHours < 6) || + (selectedDuration === '6-10 hours' && durationHours >= 6 && durationHours <= 10) || + (selectedDuration === '10-15 hours' && durationHours >= 10 && durationHours <= 15) || + (selectedDuration === 'Over 15 hours' && durationHours > 15); + // Rating filter const matchesRating = selectedRating === 'All Ratings' || - (selectedRating === '4.5+ Stars' && course.rating >= 4.5) || - (selectedRating === '4.0+ Stars' && course.rating >= 4.0) || - (selectedRating === '3.5+ Stars' && course.rating >= 3.5); - + (selectedRating === '4.5+ Stars' && course.rating >= 4.5) || + (selectedRating === '4.0+ Stars' && course.rating >= 4.0) || + (selectedRating === '3.5+ Stars' && course.rating >= 3.5); + return matchesSearch && matchesCategory && matchesLevel && matchesFormat && matchesPrice && matchesDuration && matchesRating; }).sort((a, b) => { switch (sortBy) { @@ -318,13 +318,13 @@ export function LearningOnline() { setSortBy('Most Popular'); }; - const hasActiveFilters = searchTerm || - selectedCategory !== 'All Categories' || - selectedLevel !== 'All Levels' || - selectedFormat !== 'All Formats' || - selectedPriceRange !== 'All Prices' || - selectedDuration !== 'All Durations' || - selectedRating !== 'All Ratings'; + const hasActiveFilters = searchTerm || + selectedCategory !== 'All Categories' || + selectedLevel !== 'All Levels' || + selectedFormat !== 'All Formats' || + selectedPriceRange !== 'All Prices' || + selectedDuration !== 'All Durations' || + selectedRating !== 'All Ratings'; // Cart functions - using global cart context const handleAddToCart = (item: CartItem) => { @@ -342,7 +342,7 @@ export function LearningOnline() {
{/* Hero Banner – Digital Learning - Blog Style */}
-
- +
DIGITAL LEARNING PLATFORM
- + {/* Main Header */}

- Transform Leadership
Through Digital Learning + Discover Your Leadership + Potential Online

- {/* Statistics */} -
-
-
{featuredCourses.length}+
-
Expert Courses
-
-
-
{courseCategories.length}
-
Learning Pathways
-
-
-
10,000+
-
Active Learners
-
-
+

Our Leadership Courses are structured packages which are targeted towards building your leadership abilities. Each course is a wholesome package which not only helps you gain awareness about your leadership style but also gives insights to build your leadership abilities. Every course contains curated content targeted towards a specific leadership ability. Each course consists of our proprietary profiling instruments – Leadership Profilers, conceptual videos and experiences of leaders – Leadership Webcasts, as well as additional content to supplement learning. +

@@ -417,11 +405,10 @@ export function LearningOnline() {
- +
{Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => (
- + - - - ))} +
+ {member.expertise.map((skill, skillIndex) => ( + + {skill} + + ))} +
+ + + + + ))} +
@@ -1382,7 +1365,7 @@ export function ProgrammeDetail({ slug }: ProgrammeDetailProps) { borderColor: option.popular ? '#F8C301' : '#F8C301', color: option.popular ? 'white' : '#F8C301' }} - onMouseEnter={(e) => { + onMouseEnter={(e: React.MouseEvent) => { if (!option.popular) { e.currentTarget.style.backgroundColor = '#F8C301'; e.currentTarget.style.color = 'white'; @@ -1390,7 +1373,7 @@ export function ProgrammeDetail({ slug }: ProgrammeDetailProps) { e.currentTarget.style.backgroundColor = '#E6AF01'; } }} - onMouseLeave={(e) => { + onMouseLeave={(e: React.MouseEvent) => { if (!option.popular) { e.currentTarget.style.backgroundColor = 'transparent'; e.currentTarget.style.color = '#F8C301'; @@ -1490,7 +1473,7 @@ export function ProgrammeDetail({ slug }: ProgrammeDetailProps) { variant="outline" size="sm" className="flex-1 rounded-xl border-2 hover:bg-gray-50 transition-all duration-200" - onClick={(e) => { + onClick={(e: React.MouseEvent) => { e.stopPropagation(); // Add to cart functionality }} @@ -1500,7 +1483,7 @@ export function ProgrammeDetail({ slug }: ProgrammeDetailProps) {