blob: 6dab985bd1703d8fd0101dd934bfbb4bc291450a [file] [log] [blame]
// src/App.jsx
import React, { useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import Header from './components/Header'
import Sidebar from './components/Sidebar'
import AppRoutes from './router/App'
import { getUserInfo } from './utils/auth'
import './App.css'
export default function App() {
const location = useLocation()
// 初始 role = null (未登录或刚进来时)
const [role, setRole] = useState(null)
// 每次路由变化(含登录後 navigate),都重新从 storage 读一遍 userInfo
useEffect(() => {
const u = getUserInfo()
setRole(u?.role || null)
}, [location.pathname])
// 只有普通 user 才显示侧边栏
const showSidebar = role === 'user'
return (
<div className="app">
<Header />
{showSidebar && <Sidebar />}
<main
className="main-content"
style={{
// 没侧边栏时去掉左边距
marginLeft: showSidebar ? undefined : 0
}}
>
<div className="content-wrapper">
<AppRoutes />
</div>
</main>
</div>
)
}