From fbaff57cbc1aeba327b274def58892d4efdff4bd Mon Sep 17 00:00:00 2001 From: zhangheng Date: Wed, 8 Apr 2026 15:56:18 +0800 Subject: [PATCH] feat(layout): username --- components/layout/AppLayout.tsx | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/components/layout/AppLayout.tsx b/components/layout/AppLayout.tsx index 97c4745..0a21bfe 100644 --- a/components/layout/AppLayout.tsx +++ b/components/layout/AppLayout.tsx @@ -11,20 +11,14 @@ import { ScrollArea, Space, Stack, + Text, Tooltip, UnstyledButton, useComputedColorScheme, useMantineColorScheme, } from "@mantine/core" import { useDisclosure, useMediaQuery } from "@mantine/hooks" -import { - IconLogout, - IconMessageCircle, - IconMoon, - IconSettings, - IconSun, - IconUser, -} from "@tabler/icons-react" +import { IconLogout, IconMoon, IconSun, IconUser } from "@tabler/icons-react" import cx from "clsx" import { Suspense, useEffect, useMemo, useState } from "react" import actionToggleClasses from "./ActionToggle.module.css" @@ -32,6 +26,7 @@ import headerLinkClasses from "./HeaderLink.module.css" import { useUserStore } from "@/app/store/user" import { usePathname, useRouter } from "next/navigation" +import { usePermissionStore } from "../label/store/auth" import { deleteCookie } from "../login/api" import { MenuItem, withoutLayoutRoutes } from "./common" import { ClientIcon } from "./components/ClientIcon" @@ -147,6 +142,7 @@ export default function AppLayout({ window.location.reload() } const matches = useMediaQuery("(min-width: 48em)") + const userName = usePermissionStore((s) => s.user_name) return isClient ? ( withoutLayout ? ( @@ -199,7 +195,7 @@ export default function AppLayout({ /> - + - 个人信息 - }> - 设置 - - }> - 通知 - + 用户信息 + + + {userName || "-"} + + 操作