diff --git a/src/screens/Home/Vertical/Main.tsx b/src/screens/Home/Vertical/Main.tsx index 66d314d..8972dd1 100644 --- a/src/screens/Home/Vertical/Main.tsx +++ b/src/screens/Home/Vertical/Main.tsx @@ -19,7 +19,9 @@ const SearchPage = () => { const [visible, setVisible] = useState(commonState.navActiveId == 'nav_search') const component = useMemo(() => , []) useEffect(() => { + let currentId: CommonState['navActiveId'] = commonState.navActiveId const handleNavIdUpdate = (id: CommonState['navActiveId']) => { + currentId = id if (id == 'nav_search') { requestAnimationFrame(() => { void InteractionManager.runAfterInteractions(() => { @@ -29,6 +31,7 @@ const SearchPage = () => { } } const handleHide = () => { + if (currentId != 'nav_setting') return setVisible(false) } const handleConfigUpdated = (keys: Array) => { @@ -53,7 +56,9 @@ const SongListPage = () => { const [visible, setVisible] = useState(commonState.navActiveId == 'nav_songlist') const component = useMemo(() => , []) useEffect(() => { + let currentId: CommonState['navActiveId'] = commonState.navActiveId const handleNavIdUpdate = (id: CommonState['navActiveId']) => { + currentId = id if (id == 'nav_songlist') { requestAnimationFrame(() => { void InteractionManager.runAfterInteractions(() => { @@ -63,6 +68,7 @@ const SongListPage = () => { } } const handleHide = () => { + if (currentId != 'nav_setting') return setVisible(false) } global.state_event.on('navActiveIdUpdated', handleNavIdUpdate) @@ -83,7 +89,9 @@ const LeaderboardPage = () => { const [visible, setVisible] = useState(commonState.navActiveId == 'nav_top') const component = useMemo(() => , []) useEffect(() => { + let currentId: CommonState['navActiveId'] = commonState.navActiveId const handleNavIdUpdate = (id: CommonState['navActiveId']) => { + currentId = id if (id == 'nav_top') { requestAnimationFrame(() => { void InteractionManager.runAfterInteractions(() => { @@ -93,6 +101,7 @@ const LeaderboardPage = () => { } } const handleHide = () => { + if (currentId != 'nav_setting') return setVisible(false) } const handleConfigUpdated = (keys: Array) => { @@ -117,7 +126,9 @@ const MylistPage = () => { const [visible, setVisible] = useState(commonState.navActiveId == 'nav_love') const component = useMemo(() => , []) useEffect(() => { + let currentId: CommonState['navActiveId'] = commonState.navActiveId const handleNavIdUpdate = (id: CommonState['navActiveId']) => { + currentId = id if (id == 'nav_love') { requestAnimationFrame(() => { void InteractionManager.runAfterInteractions(() => { @@ -127,6 +138,7 @@ const MylistPage = () => { } } const handleHide = () => { + if (currentId != 'nav_setting') return setVisible(false) } const handleConfigUpdated = (keys: Array) => {