fix: 修复退出沉浸模式导航栏无过渡动画

This commit is contained in:
JSR
2026-03-27 21:49:48 +08:00
parent 5ae519b89c
commit 8ee3729596
-30
View File
@@ -7,8 +7,6 @@ import { ContentArea } from "./components/ContentArea"
import { OOBE } from "./components/OOBE/OOBE"
import { ThemeProvider, useTheme } from "./contexts/ThemeContext"
const IMMERSIVE_TRANSITION_MS = 260
function MainContent(): React.JSX.Element {
const { t } = useTranslation()
const navigate = useNavigate()
@@ -17,8 +15,6 @@ function MainContent(): React.JSX.Element {
const [messageApi, contextHolder] = message.useMessage()
const { isIosDevice, isAndroidDevice, defaultPortraitMode } = useMemo(getMobileDeviceInfo, [])
const [immersiveMode, setImmersiveMode] = useState(false)
const [sidebarVisible, setSidebarVisible] = useState(true)
const sidebarTransitionTimerRef = useRef<number | null>(null)
useEffect(() => {
const api = (window as any).api
@@ -354,30 +350,6 @@ function MainContent(): React.JSX.Element {
})
}
useEffect(() => {
if (sidebarTransitionTimerRef.current) {
window.clearTimeout(sidebarTransitionTimerRef.current)
sidebarTransitionTimerRef.current = null
}
if (!immersiveMode) {
setSidebarVisible(true)
return
}
sidebarTransitionTimerRef.current = window.setTimeout(() => {
setSidebarVisible(false)
sidebarTransitionTimerRef.current = null
}, IMMERSIVE_TRANSITION_MS)
return () => {
if (sidebarTransitionTimerRef.current) {
window.clearTimeout(sidebarTransitionTimerRef.current)
sidebarTransitionTimerRef.current = null
}
}
}, [immersiveMode])
const isDark = currentTheme?.mode === "dark"
const brandColor = currentTheme?.config?.tdesign?.brandColor || "#0052D9"
@@ -394,7 +366,6 @@ function MainContent(): React.JSX.Element {
>
{contextHolder}
<Layout style={{ height: "100%", flexDirection: "row", overflow: "hidden" }}>
{sidebarVisible && (
<div
className={`ss-immersive-sidebar ${immersiveMode ? "is-hidden" : "is-visible"}`}
style={
@@ -413,7 +384,6 @@ function MainContent(): React.JSX.Element {
onFloatingExpandedChange={setFloatingSidebarExpanded}
/>
</div>
)}
<ContentArea
permission={permission}
hasAnyPassword={hasAnyPassword}