import { StorageResultType } from 'Common/Enums'; import Remote from 'Remote/User/Fetch'; import { command } from 'Knoin/Knoin'; import { AbstractViewPopup } from 'Knoin/AbstractViews'; class TwoFactorTestPopupView extends AbstractViewPopup { constructor() { super('TwoFactorTest'); this.addObservables({ code: '', codeFocused: false, codeStatus: null, testing: false }); this.koTestedTrigger = null; } @command((self) => self.code() && !self.testing()) testCodeCommand() { this.testing(true); Remote.testTwoFactor((result, data) => { this.testing(false); this.codeStatus(StorageResultType.Success === result && data && !!data.Result); if (this.koTestedTrigger && this.codeStatus()) { this.koTestedTrigger(true); } }, this.code()); } clearPopup() { this.code(''); this.codeFocused(false); this.codeStatus(null); this.testing(false); this.koTestedTrigger = null; } onShow(koTestedTrigger) { this.clearPopup(); this.koTestedTrigger = koTestedTrigger; } onShowWithDelay() { // isMobile() || this.codeFocused(true); } } export { TwoFactorTestPopupView, TwoFactorTestPopupView as default };