Skip to content

Commit

Permalink
fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
nkdengineer committed Feb 6, 2025
1 parent ed37d21 commit e00c97f
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 32 deletions.
30 changes: 30 additions & 0 deletions src/libs/DateUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import ONYXKEYS from '@src/ONYXKEYS';
import {timezoneBackwardMap} from '@src/TIMEZONES';
import type {SelectedTimezone, Timezone} from '@src/types/onyx/PersonalDetails';
import {setCurrentDate} from './actions/CurrentDate';
import {setNetworkLastOffline} from './actions/Network';
import {translate, translateLocal} from './Localize';
import Log from './Log';

Expand Down Expand Up @@ -88,6 +89,35 @@ Onyx.connect({
callback: (value) => (networkTimeSkew = value?.timeSkew ?? 0),
});

let isOffline: boolean | undefined;

let preferredLocaleFromOnyx: Locale;

Onyx.connect({
key: ONYXKEYS.NVP_PREFERRED_LOCALE,
callback: (value) => {
if (!value) {
return;
}
preferredLocaleFromOnyx = value;
},
});

Onyx.connect({
key: ONYXKEYS.NETWORK,
callback: (val) => {
if (!val?.lastOfflineAt) {
setNetworkLastOffline(getLocalDateFromDatetime(preferredLocaleFromOnyx));
}

const newIsOffline = val?.isOffline ?? val?.shouldForceOffline;
if (newIsOffline && isOffline === false) {
setNetworkLastOffline(getLocalDateFromDatetime(preferredLocaleFromOnyx));
}
isOffline = newIsOffline;
},
});

function isDate(arg: unknown): arg is Date {
return Object.prototype.toString.call(arg) === '[object Date]';
}
Expand Down
43 changes: 11 additions & 32 deletions src/libs/actions/Network.ts
Original file line number Diff line number Diff line change
@@ -1,40 +1,9 @@
import Onyx from 'react-native-onyx';
import DateUtils from '@libs/DateUtils';
import Log from '@libs/Log';
import type {NetworkStatus} from '@libs/NetworkConnection';
import ONYXKEYS from '@src/ONYXKEYS';
import type {Locale} from '@src/types/onyx';
import type {ConnectionChanges} from '@src/types/onyx/Network';

let isOffline: boolean | undefined;

let preferredLocale: Locale;

Onyx.connect({
key: ONYXKEYS.NVP_PREFERRED_LOCALE,
callback: (value) => {
if (!value) {
return;
}
preferredLocale = value;
},
});

Onyx.connect({
key: ONYXKEYS.NETWORK,
callback: (val) => {
if (!val?.lastOfflineAt) {
setNetworkLastOffline(DateUtils.getLocalDateFromDatetime(preferredLocale));
}

const newIsOffline = val?.isOffline ?? val?.shouldForceOffline;
if (newIsOffline && isOffline === false) {
setNetworkLastOffline(DateUtils.getLocalDateFromDatetime(preferredLocale));
}
isOffline = newIsOffline;
},
});

function setNetworkLastOffline(lastOfflineAt: Date) {
Onyx.merge(ONYXKEYS.NETWORK, {lastOfflineAt});
}
Expand Down Expand Up @@ -85,4 +54,14 @@ function setConnectionChanges(connectionChanges: ConnectionChanges) {
Onyx.merge(ONYXKEYS.NETWORK, {connectionChanges});
}

export {setIsOffline, setShouldForceOffline, setConnectionChanges, setShouldSimulatePoorConnection, setPoorConnectionTimeoutID, setShouldFailAllRequests, setTimeSkew, setNetWorkStatus};
export {
setIsOffline,
setShouldForceOffline,
setConnectionChanges,
setShouldSimulatePoorConnection,
setPoorConnectionTimeoutID,
setShouldFailAllRequests,
setTimeSkew,
setNetWorkStatus,
setNetworkLastOffline,
};

0 comments on commit e00c97f

Please sign in to comment.