import React, { useState } from 'react'; import { Layout, Dropdown, Avatar, Drawer } from 'antd'; import './style.less'; import { history, Link, request, useModel } from 'umi'; import { UserOutlined, CodeOutlined, MenuOutlined } from '@ant-design/icons'; import AvatarDropdown from '@/components/pages/AvatarDropdown'; import Menu from '../menu'; import { ReactComponent as Logo } from './logo-white.svg'; import { useResponsive, useLocalStorageState } from 'ahooks'; import get from 'lodash/get'; export function TopMenuLayout(props: any) { const { currentPageName, menu = [] } = props; console.log({menu}) // const [visible, setVisible] = useState(false); const [visible, setVisible] = useLocalStorageState(`nocobase-nav-visible`, false); const responsive = useResponsive(); const isMobile = responsive.small && !responsive.middle && !responsive.large; const { initialState = {}, loading, error, refresh, setInitialState } = useModel('@@initialState'); const logoUrl = get(initialState, 'systemSettings.logo.url'); console.log({logoUrl}); return (
{!logoUrl ? : }
{!isMobile && } {!isMobile && } {isMobile && { setVisible(true); }} style={{ fontSize: 16, color: '#fff', position: 'absolute', right: 16, top: 16, }}/>} {isMobile && { setVisible(false); }} placement={'right'} closable={false} bodyStyle={{background: '#001529', padding: 0}}> { setVisible(false); }} mode={'inline'} hideChildren={true} items={menu} className={'noco-top-menu'} style={{float: 'left'}} theme="dark"/> } {props.children} ); }; export default TopMenuLayout;