chore(pom): set Java version to 17 for local compatibility
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
<url/>
|
<url/>
|
||||||
</scm>
|
</scm>
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>21</java.version>
|
<java.version>17</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- Web MVC starter for building REST APIs -->
|
<!-- Web MVC starter for building REST APIs -->
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export const FEATURES: Feature[] = [
|
|||||||
icon: 'Map',
|
icon: 'Map',
|
||||||
title: 'Campus Map',
|
title: 'Campus Map',
|
||||||
description: 'Explore RIT campus interactively – find departments, labs, library, canteen, and facilities.',
|
description: 'Explore RIT campus interactively – find departments, labs, library, canteen, and facilities.',
|
||||||
path: '/campus',
|
path: '/campus?tab=map',
|
||||||
color: '#10B981',
|
color: '#10B981',
|
||||||
bgColor: '#ECFDF5',
|
bgColor: '#ECFDF5',
|
||||||
},
|
},
|
||||||
@@ -53,7 +53,7 @@ export const FEATURES: Feature[] = [
|
|||||||
icon: 'Bus',
|
icon: 'Bus',
|
||||||
title: 'Bus Routes',
|
title: 'Bus Routes',
|
||||||
description: 'View all campus bus routes, timings, and pickup locations at a glance.',
|
description: 'View all campus bus routes, timings, and pickup locations at a glance.',
|
||||||
path: '/campus',
|
path: '/campus?tab=bus',
|
||||||
color: '#3B82F6',
|
color: '#3B82F6',
|
||||||
bgColor: '#EFF6FF',
|
bgColor: '#EFF6FF',
|
||||||
},
|
},
|
||||||
@@ -62,7 +62,7 @@ export const FEATURES: Feature[] = [
|
|||||||
icon: 'UserCheck',
|
icon: 'UserCheck',
|
||||||
title: 'Faculty Directory',
|
title: 'Faculty Directory',
|
||||||
description: 'Find faculty contact details, department, designation, and office hours.',
|
description: 'Find faculty contact details, department, designation, and office hours.',
|
||||||
path: '/campus',
|
path: '/campus?tab=faculty',
|
||||||
color: '#EC4899',
|
color: '#EC4899',
|
||||||
bgColor: '#FDF2F8',
|
bgColor: '#FDF2F8',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -7,12 +7,17 @@ import FacultyCard from '@/components/FacultyCard/FacultyCard';
|
|||||||
import { StaggerContainer, StaggerItem } from '@/components/AnimatedContainer/AnimatedContainer';
|
import { StaggerContainer, StaggerItem } from '@/components/AnimatedContainer/AnimatedContainer';
|
||||||
import { FACULTY_DATA, CAMPUS_LOCATIONS, DEPARTMENTS } from '@/constants';
|
import { FACULTY_DATA, CAMPUS_LOCATIONS, DEPARTMENTS } from '@/constants';
|
||||||
import * as LucideIcons from 'lucide-react';
|
import * as LucideIcons from 'lucide-react';
|
||||||
|
import { useLocation } from 'react-router-dom';
|
||||||
import type { BusRoute } from '@/types';
|
import type { BusRoute } from '@/types';
|
||||||
|
|
||||||
type Tab = 'map' | 'bus' | 'faculty';
|
type Tab = 'map' | 'bus' | 'faculty';
|
||||||
|
|
||||||
export default function Campus() {
|
export default function Campus() {
|
||||||
const [activeTab, setActiveTab] = useState<Tab>('map');
|
const location = useLocation();
|
||||||
|
const queryTab = new URLSearchParams(location.search).get('tab') as Tab;
|
||||||
|
const [activeTab, setActiveTab] = useState<Tab>(
|
||||||
|
queryTab === 'map' || queryTab === 'bus' || queryTab === 'faculty' ? queryTab : 'map'
|
||||||
|
);
|
||||||
const [searchFaculty, setSearchFaculty] = useState('');
|
const [searchFaculty, setSearchFaculty] = useState('');
|
||||||
const [selectedDept, setSelectedDept] = useState('All Departments');
|
const [selectedDept, setSelectedDept] = useState('All Departments');
|
||||||
const [sortBy, setSortBy] = useState('Name A-Z');
|
const [sortBy, setSortBy] = useState('Name A-Z');
|
||||||
@@ -20,6 +25,14 @@ export default function Campus() {
|
|||||||
const [busRoutes, setBusRoutes] = useState<BusRoute[]>([]);
|
const [busRoutes, setBusRoutes] = useState<BusRoute[]>([]);
|
||||||
const [loadingBus, setLoadingBus] = useState(true);
|
const [loadingBus, setLoadingBus] = useState(true);
|
||||||
|
|
||||||
|
// Sync tab state when URL query parameter changes
|
||||||
|
useEffect(() => {
|
||||||
|
const qTab = new URLSearchParams(location.search).get('tab') as Tab;
|
||||||
|
if (qTab === 'map' || qTab === 'bus' || qTab === 'faculty') {
|
||||||
|
setActiveTab(qTab);
|
||||||
|
}
|
||||||
|
}, [location.search]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (activeTab === 'bus' && busRoutes.length === 0) {
|
if (activeTab === 'bus' && busRoutes.length === 0) {
|
||||||
setLoadingBus(true);
|
setLoadingBus(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user