import { useEffect } from 'react' import '@/assets/App.css' import AppLogo from '@/assets/highlights_travel_300_300.png' import { useThemeContext } from '@/stores/ThemeContext' import useAuthStore from '@/stores/AuthStore' import { Layout, theme, Space, Avatar, Dropdown, Flex } from 'antd' import { DownOutlined } from '@ant-design/icons' import { NavLink, Outlet, Link } from 'react-router-dom' import ReloadPrompt from './ReloadPrompt' import ClearCache from './ClearCache' import useStyleStore from '@/stores/StyleStore'; import { BUILD_VERSION } from '@/config' const { Header, Content } = Layout function MobileApp() { const { colorPrimary } = useThemeContext() const loginUser = useAuthStore((state) => state.loginUser) const { token: { colorBgContainer }, } = theme.useToken() const [setMobile] = useStyleStore((state) => [state.setMobile]); useEffect(() => { setMobile(true); const handleLoad = () => { const isPWAInstalled = window.matchMedia('(display-mode: window-controls-overlay)').matches || window.matchMedia('(display-mode: standalone)').matches const isStandalone = navigator.standalone || window.navigator.standalone if (isPWAInstalled || isStandalone) { document.getElementById('install-button').disabled = true } else { document.getElementById('about-dialog').showModal() window.addEventListener('beforeinstallprompt', (e) => { e.preventDefault() document .getElementById('about-dialog') .addEventListener('close', () => { if ( document.getElementById('about-dialog').returnValue === 'install' ) { e.prompt() } }) }) } } window.addEventListener('load', handleLoad) return () => window.removeEventListener('load', handleLoad) }, []) return (
App logo {!('Notification' in window) && 🔕} , key: 'reload' }, { type: 'divider' }, { label: , key: 'clearcache' }, { type: 'divider' }, { label: 退出, key: '3' }, { type: 'divider' }, { label: <>v{BUILD_VERSION}, key: 'BUILD_VERSION' }, ], }} trigger={['click']} > e.preventDefault()} style={{ color: colorPrimary }} > {loginUser?.username?.substring(1)} {loginUser.username} {/* */}
{/* */}
) } export default MobileApp