'use client' import { useState, useEffect } from 'react' import { useRouter } from 'next/navigation' import { roles, getRoleById, getStoredRole, storeRole, RoleId } from '@/lib/roles' interface RoleIndicatorProps { collapsed?: boolean onRoleChange?: () => void } export function RoleIndicator({ collapsed, onRoleChange }: RoleIndicatorProps) { const router = useRouter() const [currentRole, setCurrentRole] = useState(null) const [showDropdown, setShowDropdown] = useState(false) useEffect(() => { const role = getStoredRole() setCurrentRole(role) }, []) const handleRoleChange = (roleId: RoleId) => { storeRole(roleId) setCurrentRole(roleId) setShowDropdown(false) onRoleChange?.() // Refresh the page to update navigation router.refresh() } const role = currentRole ? getRoleById(currentRole) : null if (!role) { return null } // Role icons const roleIcons: Record = { developer: ( ), manager: ( ), auditor: ( ), dsb: ( ), } return (
{/* Dropdown */} {showDropdown && (
{roles.map((r) => ( ))}
)}
) }