新增合同上传附件追加
This commit is contained in:
+15
-5
@@ -30,17 +30,17 @@ export async function action({ request }: ActionFunctionArgs) {
|
||||
|
||||
// 验证用户登录状态
|
||||
export async function loader({ request }: LoaderFunctionArgs) {
|
||||
const { isAuthenticated, userRole } = await getUserSession(request);
|
||||
const { isAuthenticated, userRole, userInfo } = await getUserSession(request);
|
||||
|
||||
if (!isAuthenticated) {
|
||||
return redirect("/login");
|
||||
}
|
||||
return Response.json({ userRole });
|
||||
return Response.json({ userRole, userInfo });
|
||||
}
|
||||
|
||||
export default function Index() {
|
||||
const navigate = useNavigate();
|
||||
const { userRole } = useLoaderData<typeof loader>();
|
||||
const { userRole, userInfo } = useLoaderData<typeof loader>();
|
||||
const [currentDateTime, setCurrentDateTime] = useState({
|
||||
date: '',
|
||||
time: ''
|
||||
@@ -133,8 +133,18 @@ export default function Index() {
|
||||
<div className="user-info">
|
||||
<span className="datetime">{currentDateTime.date} {currentDateTime.time}</span>
|
||||
<div className="user">
|
||||
<img src="/avatar.png" alt="用户头像" className="avatar" />
|
||||
<span className="username">{userRole === 'developer' ? '系统管理员' : '普通用户'}</span>
|
||||
{(() => {
|
||||
const displayName = (userInfo?.nick_name || (userInfo as { nickname?: string })?.nickname || (userInfo as { name?: string })?.name || '') as string;
|
||||
const lastChar = displayName ? displayName.charAt(displayName.length - 1) : '用';
|
||||
return (
|
||||
<>
|
||||
<div className="avatar w-10 h-10 rounded-full bg-primary text-white flex items-center justify-center">
|
||||
<span>{lastChar}</span>
|
||||
</div>
|
||||
<span className="username ml-2">{displayName || '未知用户'}</span>
|
||||
</>
|
||||
);
|
||||
})()}
|
||||
<button
|
||||
onClick={handleLogout}
|
||||
className="logout-button"
|
||||
|
||||
Reference in New Issue
Block a user