import { ReactNode, useState } from 'react' import { Link, useLocation, useNavigate } from 'react-router-dom' import { useAuth } from '../contexts/AuthContext' import './DashboardLayout.css' interface DashboardLayoutProps { children: ReactNode } function DashboardLayout({ children }: DashboardLayoutProps) { const { user, logout } = useAuth() const location = useLocation() const navigate = useNavigate() const [sidebarOpen, setSidebarOpen] = useState(true) const [rmoMenuOpen, setRmoMenuOpen] = useState(false) const [responsibilityMenuOpen, setResponsibilityMenuOpen] = useState(false) const [systemMenuOpen, setSystemMenuOpen] = useState(false) const isActive = (path: string) => location.pathname === path const isActiveParent = (path: string) => location.pathname.startsWith(path) const isActiveParentMulti = (paths: string[]) => paths.some(path => location.pathname.startsWith(path)) // 根据角色判断权限 const isPolicyHolder = user?.role === '投保人' const isInsurer = user?.role === '保险人' // 投保人可见:项目列表、理赔进度、智能工具 // 保险人可见:询价列表、理赔进度 const handleLogout = () => { logout() navigate('/login') } return (