Only run "disable min shell on foregrounding" behaviour if on the home screen (#3825)

* change useEffect to useFocusEffect

* v2 -> v3
zio/stable
Samuel Newman 2024-05-02 21:27:54 +01:00 committed by GitHub
parent 96c5db3e69
commit 6da18e3dcf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 15 deletions

View File

@ -1,7 +1,7 @@
export type Gate =
// Keep this alphabetic please.
| 'autoexpand_suggestions_on_profile_follow_v2'
| 'disable_min_shell_on_foregrounding_v2'
| 'disable_min_shell_on_foregrounding_v3'
| 'disable_poll_on_discover_v2'
| 'dms'
| 'hide_vertical_scroll_indicators'

View File

@ -119,22 +119,24 @@ function HomeScreenReady({
const gate = useGate()
const mode = useMinimalShellMode()
const {isMobile} = useWebMediaQueries()
React.useEffect(() => {
const listener = AppState.addEventListener('change', nextAppState => {
if (nextAppState === 'active') {
if (
isMobile &&
mode.value === 1 &&
gate('disable_min_shell_on_foregrounding_v2')
) {
setMinimalShellMode(false)
useFocusEffect(
React.useCallback(() => {
const listener = AppState.addEventListener('change', nextAppState => {
if (nextAppState === 'active') {
if (
isMobile &&
mode.value === 1 &&
gate('disable_min_shell_on_foregrounding_v3')
) {
setMinimalShellMode(false)
}
}
})
return () => {
listener.remove()
}
})
return () => {
listener.remove()
}
}, [setMinimalShellMode, mode, isMobile, gate])
}, [setMinimalShellMode, mode, isMobile, gate]),
)
const onPageSelected = React.useCallback(
(index: number) => {