tweb/public/392.eb2cde6a1063177ee3ad.ch...

1 line
8.1 KiB
Plaintext

{"version":3,"file":"392.eb2cde6a1063177ee3ad.chunk.js","mappings":"qNAiBA,IAIIA,EAJAC,EAAsC,KAEtCC,EAAiC,KACjCC,EAAwC,KAG5C,MA6GMC,EAAO,IAAI,IAAK,iBAAiB,GA7GlB,KACnB,MAAMC,EAAcJ,EAASK,KAA8CC,OAErEC,EAAiB,IAAI,IAAe,CACxCC,MAAO,OACPC,MAAM,SACNH,OAAQF,EACRM,OAASC,IACPC,EAAWD,MAIfZ,EAAYQ,EAAeM,MAE3BV,EAAKW,OAAOC,cAAc,kBAAkBC,OAAOT,EAAeU,WAE/Cd,EAAKW,OAAOC,cAAc,eAElCG,iBAAiB,SAAS,WACnC,OAAO,qBAGT,MAAMC,EAAU,KACdC,YAAW,KACTC,EAAOC,WACN,MAGCV,EAAcD,IAClBZ,EAAUwB,aAAa,WAAY,QAEnC,MAAMC,EAAqB,CACzBC,aAAczB,EAASyB,aACvBC,gBAAiB1B,EAAS0B,gBAC1BC,WAAYhB,GAKd,kCAAwC,cAAea,EAAQ,CAACI,cAAc,IAC7EC,MAAMC,IAGL,OAAOA,EAASC,GACd,IAAK,qBACH,gCAAsCD,EAASE,MAE/C,8BAAmBH,MAAMI,IACvBA,EAAEC,QAAQC,WAEZhB,IACA,MACF,IAAK,mCAGH,8BAAuBU,MAAMI,IAC3BA,EAAEC,QAAQC,MAAM,CACd,aAAgBnC,EAASyB,aACzB,gBAAmBzB,EAAS0B,qBAIhCP,QAMHiB,OAAYC,IAAQ,O,OAAD,E,OAAA,E,EAAA,YACpB,IAAIC,GAAO,EACX,OAAOD,EAAIhC,MACT,IAAK,0BAEHiC,GAAO,EACPD,EAAIE,SAAU,cACD,+BAA0BL,QAAQC,QAC/Cf,YAAW,KACTrB,EAAUyC,MAAQ,KACjB,KACH,MACF,IAAK,qBACHzC,EAAU0C,UAAUC,IAAI,UACxB,OAAenC,EAAeC,OAAO,QAAK,uBAC1C,MACF,IAAK,mBACL,IAAK,qBACHT,EAAU0C,UAAUC,IAAI,UACxB,OAAenC,EAAeC,OAAO,QAAK,uBAC1C,MACF,QACED,EAAeC,MAAMmC,UAAYN,EAAIhC,KAIrCiC,GACF/B,EAAeqC,SAGjB7C,EAAU8C,gBAAgB,a,YA9BN,K,kRAkClBC,EAAW3C,EAAKW,OAAOC,cAAc,eACrCgC,EAAO,aAAsB,IAAM,IACnC1B,EAAS,IAAI,IAAed,EAAgBwC,GAElD,OADAD,EAAS9B,OAAOK,EAAOJ,WAChBI,EAAO2B,UAG4CC,IAG1D,GAFAjD,EAAWiD,EAEPhD,EAGG,CACLF,EAAUyC,MAAQ,GAElB,MAAMU,EAAMC,SAASC,YAAY,cACjCF,EAAIG,UAAU,SAAS,GAAO,GAC9BtD,EAAUuD,cAAcJ,QAPxBjD,EAAgBE,EAAKW,OAAOyC,uBAAuB,SAAS,GAC5DrD,EAAkBC,EAAKW,OAAOyC,uBAAuB,aAAa,GAUpE,IAAIC,EAAkBC,EACtB,OAFAxD,EAAc0C,UAAY3C,EAASyB,aAE5BzB,EAASK,KAAK0B,GACnB,IAAK,uBACHyB,EAAM,qBACN,MACF,IAAK,uBACHA,EAAM,uBACN,MACF,IAAK,wBACHA,EAAM,sBACN,MACF,QACEA,EAAM,yBACNC,EAAO,CAACzD,EAASK,KAAK0B,IAI1B,OAAe7B,GAAiB,QAAKsD,EAAKC,IAE1C,yCAA+C,YAAa,CAAC1B,EAAG,oBAAqB2B,SAAUT,OAC9F,KACDlD,EAAU4D,WAGZ","sources":["webpack://tweb/./src/pages/pageAuthCode.ts"],"sourcesContent":["/*\r\n * https://github.com/morethanwords/tweb\r\n * Copyright (C) 2019-2021 Eduard Kuzmenko\r\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\r\n */\r\n\r\nimport mediaSizes from '../helpers/mediaSizes';\r\nimport {AuthSentCode, AuthSentCodeType, AuthSignIn} from '../layer';\r\nimport Page from './page';\r\nimport pageSignIn from './pageSignIn';\r\nimport TrackingMonkey from '../components/monkeys/tracking';\r\nimport CodeInputField from '../components/codeInputField';\r\nimport {i18n, LangPackKey} from '../lib/langPack';\r\nimport {randomLong} from '../helpers/random';\r\nimport replaceContent from '../helpers/dom/replaceContent';\r\nimport rootScope from '../lib/rootScope';\r\n\r\nlet authCode: AuthSentCode.authSentCode = null;\r\n\r\nlet headerElement: HTMLHeadElement = null;\r\nlet sentTypeElement: HTMLParagraphElement = null;\r\nlet codeInput: HTMLInputElement;\r\n\r\nconst onFirstMount = (): Promise<any> => {\r\n const CODELENGTH = (authCode.type as AuthSentCodeType.authSentCodeTypeApp).length;\r\n\r\n const codeInputField = new CodeInputField({\r\n label: 'Code',\r\n name: randomLong(),\r\n length: CODELENGTH,\r\n onFill: (code) => {\r\n submitCode(code);\r\n }\r\n });\r\n\r\n codeInput = codeInputField.input as HTMLInputElement;\r\n\r\n page.pageEl.querySelector('.input-wrapper').append(codeInputField.container);\r\n\r\n const editButton = page.pageEl.querySelector('.phone-edit') as HTMLElement;\r\n\r\n editButton.addEventListener('click', function() {\r\n return pageSignIn.mount();\r\n });\r\n\r\n const cleanup = () => {\r\n setTimeout(() => {\r\n monkey.remove();\r\n }, 300);\r\n };\r\n\r\n const submitCode = (code: string) => {\r\n codeInput.setAttribute('disabled', 'true');\r\n\r\n const params: AuthSignIn = {\r\n phone_number: authCode.phone_number,\r\n phone_code_hash: authCode.phone_code_hash,\r\n phone_code: code\r\n };\r\n\r\n // console.log('invoking auth.signIn with params:', params);\r\n\r\n rootScope.managers.apiManager.invokeApi('auth.signIn', params, {ignoreErrors: true})\r\n .then((response) => {\r\n // console.log('auth.signIn response:', response);\r\n\r\n switch(response._) {\r\n case 'auth.authorization':\r\n rootScope.managers.apiManager.setUser(response.user);\r\n\r\n import('./pageIm').then((m) => {\r\n m.default.mount();\r\n });\r\n cleanup();\r\n break;\r\n case 'auth.authorizationSignUpRequired':\r\n // console.log('Registration needed!');\r\n\r\n import('./pageSignUp').then((m) => {\r\n m.default.mount({\r\n 'phone_number': authCode.phone_number,\r\n 'phone_code_hash': authCode.phone_code_hash\r\n });\r\n });\r\n\r\n cleanup();\r\n break;\r\n /* default:\r\n codeInput.innerText = response._;\r\n break; */\r\n }\r\n }).catch(async(err) => {\r\n let good = false;\r\n switch(err.type) {\r\n case 'SESSION_PASSWORD_NEEDED':\r\n // console.warn('pageAuthCode: SESSION_PASSWORD_NEEDED');\r\n good = true;\r\n err.handled = true;\r\n await (await import('./pagePassword')).default.mount(); // lol\r\n setTimeout(() => {\r\n codeInput.value = '';\r\n }, 300);\r\n break;\r\n case 'PHONE_CODE_EXPIRED':\r\n codeInput.classList.add('error');\r\n replaceContent(codeInputField.label, i18n('PHONE_CODE_EXPIRED'));\r\n break;\r\n case 'PHONE_CODE_EMPTY':\r\n case 'PHONE_CODE_INVALID':\r\n codeInput.classList.add('error');\r\n replaceContent(codeInputField.label, i18n('PHONE_CODE_INVALID'));\r\n break;\r\n default:\r\n codeInputField.label.innerText = err.type;\r\n break;\r\n }\r\n\r\n if(!good) {\r\n codeInputField.select();\r\n }\r\n\r\n codeInput.removeAttribute('disabled');\r\n });\r\n };\r\n\r\n const imageDiv = page.pageEl.querySelector('.auth-image') as HTMLDivElement;\r\n const size = mediaSizes.isMobile ? 100 : 166;\r\n const monkey = new TrackingMonkey(codeInputField, size);\r\n imageDiv.append(monkey.container);\r\n return monkey.load();\r\n};\r\n\r\nconst page = new Page('page-authCode', true, onFirstMount, (_authCode: typeof authCode) => {\r\n authCode = _authCode;\r\n\r\n if(!headerElement) {\r\n headerElement = page.pageEl.getElementsByClassName('phone')[0] as HTMLHeadElement;\r\n sentTypeElement = page.pageEl.getElementsByClassName('sent-type')[0] as HTMLParagraphElement;\r\n } else {\r\n codeInput.value = '';\r\n\r\n const evt = document.createEvent('HTMLEvents');\r\n evt.initEvent('input', false, true);\r\n codeInput.dispatchEvent(evt);\r\n }\r\n\r\n headerElement.innerText = authCode.phone_number;\r\n let key: LangPackKey, args: any[];\r\n switch(authCode.type._) {\r\n case 'auth.sentCodeTypeSms':\r\n key = 'Login.Code.SentSms';\r\n break;\r\n case 'auth.sentCodeTypeApp':\r\n key = 'Login.Code.SentInApp';\r\n break;\r\n case 'auth.sentCodeTypeCall':\r\n key = 'Login.Code.SentCall';\r\n break;\r\n default:\r\n key = 'Login.Code.SentUnknown';\r\n args = [authCode.type._];\r\n break;\r\n }\r\n\r\n replaceContent(sentTypeElement, i18n(key, args));\r\n\r\n rootScope.managers.appStateManager.pushToState('authState', {_: 'authStateAuthCode', sentCode: _authCode});\r\n}, () => {\r\n codeInput.focus();\r\n});\r\n\r\nexport default page;\r\n"],"names":["codeInput","authCode","headerElement","sentTypeElement","page","CODELENGTH","type","length","codeInputField","label","name","onFill","code","submitCode","input","pageEl","querySelector","append","container","addEventListener","cleanup","setTimeout","monkey","remove","setAttribute","params","phone_number","phone_code_hash","phone_code","ignoreErrors","then","response","_","user","m","default","mount","catch","err","good","handled","value","classList","add","innerText","select","removeAttribute","imageDiv","size","load","_authCode","evt","document","createEvent","initEvent","dispatchEvent","getElementsByClassName","key","args","sentCode","focus"],"sourceRoot":""}