2024-01-31 20:48:31 -08:00
|
|
|
import { useState, useEffect } from 'react'
|
2023-09-26 11:39:17 +02:00
|
|
|
import { AppState, AppStateStatus } from 'react-native'
|
2021-02-19 18:53:08 +01:00
|
|
|
|
|
|
|
export const useIsForeground = (): boolean => {
|
2023-09-26 11:39:17 +02:00
|
|
|
const [isForeground, setIsForeground] = useState(true)
|
2021-02-19 18:53:08 +01:00
|
|
|
|
|
|
|
useEffect(() => {
|
2021-02-22 12:28:56 +01:00
|
|
|
const onChange = (state: AppStateStatus): void => {
|
2023-09-26 11:39:17 +02:00
|
|
|
setIsForeground(state === 'active')
|
|
|
|
}
|
|
|
|
const listener = AppState.addEventListener('change', onChange)
|
|
|
|
return () => listener.remove()
|
|
|
|
}, [setIsForeground])
|
2021-02-19 18:53:08 +01:00
|
|
|
|
2023-09-26 11:39:17 +02:00
|
|
|
return isForeground
|
|
|
|
}
|