import { MenuOutlined, SwapOutlined } from '@ant-design/icons'; import { LayoutMenu, useQuickMenu } from './Menu'; import { useLayoutStore, usePlatformStore } from './store'; import { useShallow } from 'zustand/react/shallow'; import { useEffect, useLayoutEffect, useState } from 'react'; import { LayoutUser } from './LayoutUser'; import PandaPNG from '@/assets/panda.jpg'; import QRCodePNG from '@/assets/qrcode-8x8.jpg'; import clsx from 'clsx'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { useNavigate, useLocation } from '@tanstack/react-router'; import { QrCode } from 'lucide-react'; export const IconButton = (props: any) => { return (
{props.children}
); }; type LayoutMainProps = { title?: React.ReactNode; children?: React.ReactNode; }; export const LayoutMain = (props: LayoutMainProps) => { const menuStore = useLayoutStore( useShallow((state) => { return { open: state.open, setOpen: state.setOpen, // getMe: state.getMe, me: state.me, setOpenUser: state.setOpenUser, switchOrg: state.switchOrg, }; }), ); const navigate = useNavigate(); const location = useLocation(); const platformStore = usePlatformStore( useShallow((state) => { return { isMac: state.isMac, mount: state.mount, isElectron: state.isElectron, init: state.init, }; }), ); const { isMac, mount, isElectron } = platformStore; const quickMenu = useQuickMenu(); useLayoutEffect(() => { platformStore.init(); console.log('menuStore', menuStore.me); }, []); return (
{props.title}
{quickMenu.map((item, index) => { const isActive = location.pathname === item.link; return (
{ console.log('navigate to', item.link); navigate({ to: item.link }) }}>
{item.icon}
{item.title}
); })}
QR Code
逸闻设计
{menuStore.me?.type === 'org' && (
{ menuStore.switchOrg(''); }}> Switch To User
)}
menuStore.setOpenUser(true)}> {menuStore.me?.avatar ? ( avatar ) : ( avatar )}
menuStore.setOpenUser(true)}> {menuStore.me?.username}
); };