From ed37d21e5f1a53f7ae2761185082e6541b117440 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Thu, 6 Feb 2025 15:27:53 +0700 Subject: [PATCH] fix test --- src/hooks/useNetwork.ts | 6 +++--- src/hooks/useNetworkWithOfflineStatus.ts | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/hooks/useNetwork.ts b/src/hooks/useNetwork.ts index 69aaebc415a5..206741713882 100644 --- a/src/hooks/useNetwork.ts +++ b/src/hooks/useNetwork.ts @@ -6,14 +6,14 @@ type UseNetworkProps = { onReconnect?: () => void; }; -type UseNetwork = {isOffline: boolean}; +type UseNetwork = {isOffline: boolean; lastOfflineAt?: Date}; export default function useNetwork({onReconnect = () => {}}: UseNetworkProps = {}): UseNetwork { const callback = useRef(onReconnect); // eslint-disable-next-line react-compiler/react-compiler callback.current = onReconnect; - const {isOffline, networkStatus} = useContext(NetworkContext) ?? {...CONST.DEFAULT_NETWORK_DATA, networkStatus: CONST.NETWORK.NETWORK_STATUS.UNKNOWN}; + const {isOffline, networkStatus, lastOfflineAt} = useContext(NetworkContext) ?? {...CONST.DEFAULT_NETWORK_DATA, networkStatus: CONST.NETWORK.NETWORK_STATUS.UNKNOWN}; const prevOfflineStatusRef = useRef(isOffline); useEffect(() => { // If we were offline before and now we are not offline then we just reconnected @@ -31,5 +31,5 @@ export default function useNetwork({onReconnect = () => {}}: UseNetworkProps = { }, [isOffline]); // If the network status is undefined, we don't treat it as offline. Otherwise, we utilize the isOffline prop. - return {isOffline: networkStatus === CONST.NETWORK.NETWORK_STATUS.UNKNOWN ? false : isOffline}; + return {isOffline: networkStatus === CONST.NETWORK.NETWORK_STATUS.UNKNOWN ? false : isOffline, lastOfflineAt}; } diff --git a/src/hooks/useNetworkWithOfflineStatus.ts b/src/hooks/useNetworkWithOfflineStatus.ts index ee663bddb7f0..1fc0a9a9b9af 100644 --- a/src/hooks/useNetworkWithOfflineStatus.ts +++ b/src/hooks/useNetworkWithOfflineStatus.ts @@ -1,8 +1,6 @@ import type {MutableRefObject} from 'react'; import {useEffect, useRef} from 'react'; -import {useOnyx} from 'react-native-onyx'; import DateUtils from '@libs/DateUtils'; -import ONYXKEYS from '@src/ONYXKEYS'; import useLocalize from './useLocalize'; import useNetwork from './useNetwork'; import usePrevious from './usePrevious'; @@ -10,14 +8,12 @@ import usePrevious from './usePrevious'; type UseNetworkWithOfflineStatus = {isOffline: boolean; lastOfflineAt: MutableRefObject; lastOnlineAt: MutableRefObject}; export default function useNetworkWithOfflineStatus(): UseNetworkWithOfflineStatus { - const {isOffline} = useNetwork(); + const {isOffline, lastOfflineAt: lastOfflineAtFromOnyx} = useNetwork(); const prevIsOffline = usePrevious(isOffline); const {preferredLocale} = useLocalize(); - const [network] = useOnyx(ONYXKEYS.NETWORK); - // The last time/date the user went/was offline. If the user was never offline, it is set to undefined. - const lastOfflineAt = useRef(isOffline ? network?.lastOfflineAt : undefined); + const lastOfflineAt = useRef(isOffline ? lastOfflineAtFromOnyx : undefined); // The last time/date the user went/was online. If the user was never online, it is set to undefined. const lastOnlineAt = useRef(isOffline ? undefined : DateUtils.getLocalDateFromDatetime(preferredLocale));