import React, { useState, useEffect } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { departmentService } from '../../services/departmentService'; import Loading from '../../components/Loading'; import ErrorAlert from '../../components/ErrorAlert'; function DepartmentList() { const formatDepartmentName = (name) => { if (!name) return 'N/A'; return name.replace(/_DEPT$/, '').replace(/_/g, ' ').split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(' '); }; const user = JSON.parse(localStorage.getItem('user') || '{}'); const isAdmin = user.role === 'ADMIN'; const [departments, setDepartments] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const navigate = useNavigate(); useEffect(() => { fetchDepartments(); }, []); const fetchDepartments = async () => { try { setLoading(true); const response = await departmentService.getAllDepartments(); setDepartments(response.data); } catch (err) { setError('Failed to fetch departments'); console.error(err); } finally { setLoading(false); } }; if (loading) return ; return (

Hospital Departments

{isAdmin && (
)}
{error && setError(null)} />}
{departments.map((dept) => (

{formatDepartmentName(dept.departmentName)}

e.currentTarget.style.background = '#7e22ce'} onMouseLeave={(e) => e.currentTarget.style.background = '#9333ea'} > View Doctors e.currentTarget.style.background = '#6d28d9'} onMouseLeave={(e) => e.currentTarget.style.background = '#7c3aed'} > View Details
))}
{departments.length === 0 && (

No departments found

)}
); } export default DepartmentList;