BlueWallet/hooks/useAppState.ts
Marcos Rodriguez Vélez e70c83ba35
Update hooks/useAppState.ts
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-03 18:28:05 -04:00

24 lines
No EOL
822 B
TypeScript

import { useState, useEffect, useRef } from 'react';
import { AppState, AppStateStatus } from 'react-native';
const useAppState = (): { currentAppState: AppStateStatus, previousAppState: AppStateStatus | null } => {
const [currentAppState, setCurrentAppState] = useState<AppStateStatus>(AppState.currentState);
const previousAppState = useRef<AppStateStatus | null>(null);
useEffect(() => {
const handleAppStateChange = (nextAppState: AppStateStatus) => {
previousAppState.current = currentAppState;
setCurrentAppState(nextAppState);
};
const subscription = AppState.addEventListener('change', handleAppStateChange);
return () => {
subscription.remove();
};
}, []);
return { currentAppState, previousAppState: previousAppState.current };
};
export default useAppState;