28 lines
785 B
TypeScript
28 lines
785 B
TypeScript
import { addActionHandler } from './index';
|
|
|
|
import { INITIAL_STATE } from './initialState';
|
|
import { IS_MOCKED_CLIENT } from '../config';
|
|
import { initCache, loadCache } from './cache';
|
|
import { cloneDeep } from '../util/iteratees';
|
|
import { updatePasscodeSettings } from './reducers';
|
|
import { clearStoredSession } from '../util/sessions';
|
|
|
|
initCache();
|
|
|
|
addActionHandler('init', () => {
|
|
const initial = cloneDeep(INITIAL_STATE);
|
|
let global = loadCache(initial) || initial;
|
|
if (IS_MOCKED_CLIENT) global.authState = 'authorizationStateReady';
|
|
|
|
const { hasPasscode, isScreenLocked } = global.passcode;
|
|
if (hasPasscode && !isScreenLocked) {
|
|
global = updatePasscodeSettings(global, {
|
|
isScreenLocked: true,
|
|
});
|
|
|
|
clearStoredSession();
|
|
}
|
|
|
|
return global;
|
|
});
|