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}
);
})}
逸闻设计
{menuStore.me?.type === 'org' && (
{
menuStore.switchOrg('');
}}>
Switch To User
)}
menuStore.setOpenUser(true)}>
{menuStore.me?.avatar ? (

) : (

)}
menuStore.setOpenUser(true)}>
{menuStore.me?.username}
);
};