mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-21 11:49:02 +08:00
移动端适配:Android 默认竖屏并隐藏窗口控制,预留顶部状态栏安全区
This commit is contained in:
+18
-4
@@ -13,7 +13,7 @@ function MainContent(): React.JSX.Element {
|
||||
const location = useLocation()
|
||||
const { currentTheme } = useTheme()
|
||||
const [messageApi, contextHolder] = message.useMessage()
|
||||
const { isIosDevice, isIosPhone } = useMemo(getIosDeviceInfo, [])
|
||||
const { isIosDevice, isAndroidDevice, defaultPortraitMode } = useMemo(getMobileDeviceInfo, [])
|
||||
|
||||
useEffect(() => {
|
||||
const api = (window as any).api
|
||||
@@ -52,8 +52,8 @@ function MainContent(): React.JSX.Element {
|
||||
const [authVisible, setAuthVisible] = useState(false)
|
||||
const [authPassword, setAuthPassword] = useState("")
|
||||
const [authLoading, setAuthLoading] = useState(false)
|
||||
const [isPortraitMode, setIsPortraitMode] = useState(isIosPhone)
|
||||
const [sidebarCollapsed, setSidebarCollapsed] = useState(isIosPhone)
|
||||
const [isPortraitMode, setIsPortraitMode] = useState(defaultPortraitMode)
|
||||
const [sidebarCollapsed, setSidebarCollapsed] = useState(defaultPortraitMode)
|
||||
const [floatingSidebarExpanded, setFloatingSidebarExpanded] = useState(false)
|
||||
const [syncConflictVisible, setSyncConflictVisible] = useState(false)
|
||||
const [syncConflicts, setSyncConflicts] = useState<
|
||||
@@ -347,7 +347,7 @@ function MainContent(): React.JSX.Element {
|
||||
hasAnyPassword={hasAnyPassword}
|
||||
onAuthClick={() => setAuthVisible(true)}
|
||||
onLogout={logout}
|
||||
showWindowControls={!isIosDevice}
|
||||
showWindowControls={!isIosDevice && !isAndroidDevice}
|
||||
isPortraitMode={isPortraitMode}
|
||||
sidebarCollapsed={sidebarCollapsed}
|
||||
floatingExpand={isPortraitMode}
|
||||
@@ -519,6 +519,20 @@ function getIosDeviceInfo(): { isIosDevice: boolean; isIosPhone: boolean } {
|
||||
isIosPhone: isIosDevice && !isIosTablet,
|
||||
}
|
||||
}
|
||||
|
||||
function getMobileDeviceInfo(): {
|
||||
isIosDevice: boolean
|
||||
isAndroidDevice: boolean
|
||||
defaultPortraitMode: boolean
|
||||
} {
|
||||
const { isIosDevice, isIosPhone } = getIosDeviceInfo()
|
||||
const isAndroidDevice = navigator.userAgent.toLowerCase().includes("android")
|
||||
return {
|
||||
isIosDevice,
|
||||
isAndroidDevice,
|
||||
defaultPortraitMode: isIosPhone || isAndroidDevice,
|
||||
}
|
||||
}
|
||||
function App(): React.JSX.Element {
|
||||
return (
|
||||
<ThemeProvider>
|
||||
|
||||
Reference in New Issue
Block a user