Files
labelimage/app/project/layout.tsx
2026-03-27 19:40:48 +08:00

33 lines
923 B
TypeScript

"use client"
import { usePermissionStore } from "@/components/label/store/auth"
import AppLayout from "@/components/layout/AppLayout"
import { PathnameRecorder } from "@/components/layout/PathnameRecorder"
import { componentList, showList } from "@/components/layout/common"
import { useMemo } from "react"
// async function getMenu() {
// return [...componentList, ...showList]
// }
export default function Layout({ children }: { children: React.ReactNode }) {
const detailInfo = usePermissionStore((s) => s.detailInfo)
const menu = useMemo(() => {
if (detailInfo?.roles?.length) {
return [...componentList, ...showList]
} else {
return [...componentList, ...showList].filter(
(item) => item.title !== "管理中心"
)
}
}, [detailInfo?.roles?.length])
return (
<AppLayout menu={menu}>
{children}
<PathnameRecorder menu={menu} />
</AppLayout>
)
}