tweb/public/392.6ce981ebdcbba9b6fd04.ch...

1 line
10 KiB
Plaintext

{"version":3,"file":"392.6ce981ebdcbba9b6fd04.chunk.js","mappings":"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","sources":["webpack://tweb/./src/pages/pageAuthCode.ts"],"sourcesContent":["/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n */\n\nimport mediaSizes from '../helpers/mediaSizes';\nimport {AuthSentCode, AuthSentCodeType, AuthSignIn} from '../layer';\nimport Page from './page';\nimport pageSignIn from './pageSignIn';\nimport TrackingMonkey from '../components/monkeys/tracking';\nimport CodeInputField from '../components/codeInputField';\nimport {i18n, LangPackKey} from '../lib/langPack';\nimport {randomLong} from '../helpers/random';\nimport replaceContent from '../helpers/dom/replaceContent';\nimport rootScope from '../lib/rootScope';\nimport lottieLoader from '../lib/rlottie/lottieLoader';\nimport RLottiePlayer from '../lib/rlottie/rlottiePlayer';\nimport setBlankToAnchor from '../lib/richTextProcessor/setBlankToAnchor';\nimport {attachClickEvent} from '../helpers/dom/clickEvent';\n\nlet authSentCode: AuthSentCode.authSentCode = null;\n\nlet headerElement: HTMLHeadElement = null;\nlet sentTypeElement: HTMLParagraphElement = null;\nlet codeInput: HTMLInputElement, codeInputField: CodeInputField;\nlet monkey: TrackingMonkey, player: RLottiePlayer;\n\nconst cleanup = () => {\n setTimeout(() => {\n monkey?.remove();\n player?.remove();\n }, 300);\n};\n\nconst submitCode = (code: string) => {\n codeInput.setAttribute('disabled', 'true');\n\n const params: AuthSignIn = {\n phone_number: authSentCode.phone_number,\n phone_code_hash: authSentCode.phone_code_hash,\n phone_code: code\n };\n\n // console.log('invoking auth.signIn with params:', params);\n\n rootScope.managers.apiManager.invokeApi('auth.signIn', params, {ignoreErrors: true})\n .then((response) => {\n // console.log('auth.signIn response:', response);\n\n switch(response._) {\n case 'auth.authorization':\n rootScope.managers.apiManager.setUser(response.user);\n\n import('./pageIm').then((m) => {\n m.default.mount();\n });\n cleanup();\n break;\n case 'auth.authorizationSignUpRequired':\n // console.log('Registration needed!');\n\n import('./pageSignUp').then((m) => {\n m.default.mount({\n 'phone_number': authSentCode.phone_number,\n 'phone_code_hash': authSentCode.phone_code_hash\n });\n });\n\n cleanup();\n break;\n /* default:\n codeInput.innerText = response._;\n break; */\n }\n }).catch(async(err) => {\n let good = false;\n switch(err.type) {\n case 'SESSION_PASSWORD_NEEDED':\n // console.warn('pageAuthCode: SESSION_PASSWORD_NEEDED');\n good = true;\n err.handled = true;\n await (await import('./pagePassword')).default.mount(); // lol\n setTimeout(() => {\n codeInput.value = '';\n }, 300);\n break;\n case 'PHONE_CODE_EXPIRED':\n codeInput.classList.add('error');\n replaceContent(codeInputField.label, i18n('PHONE_CODE_EXPIRED'));\n break;\n case 'PHONE_CODE_EMPTY':\n case 'PHONE_CODE_INVALID':\n codeInput.classList.add('error');\n replaceContent(codeInputField.label, i18n('PHONE_CODE_INVALID'));\n break;\n default:\n codeInputField.label.innerText = err.type;\n break;\n }\n\n if(!good) {\n codeInputField.select();\n }\n\n codeInput.removeAttribute('disabled');\n });\n};\n\nconst onFirstMount = () => {\n page.pageEl.querySelector('.input-wrapper').append(codeInputField.container);\n\n const editButton = page.pageEl.querySelector('.phone-edit') as HTMLElement;\n attachClickEvent(editButton, () => {\n return pageSignIn.mount();\n });\n};\n\nconst getAnimation = () => {\n const imageDiv = page.pageEl.querySelector('.auth-image') as HTMLDivElement;\n const size = mediaSizes.isMobile ? 100 : 166;\n if(authSentCode.type._ === 'auth.sentCodeTypeFragmentSms') {\n if(imageDiv.firstElementChild) {\n monkey?.remove();\n monkey = undefined;\n imageDiv.replaceChildren();\n }\n\n const container = document.createElement('div');\n container.classList.add('media-sticker-wrapper');\n imageDiv.append(container);\n return lottieLoader.loadAnimationAsAsset({\n container: container,\n loop: true,\n autoplay: true,\n width: size,\n height: size\n }, 'jolly_roger').then((animation) => {\n player = animation;\n return lottieLoader.waitForFirstFrame(animation);\n }).then(() => {});\n } else {\n if(imageDiv.firstElementChild) {\n player?.remove();\n player = undefined;\n imageDiv.replaceChildren();\n }\n\n monkey = new TrackingMonkey(codeInputField, size);\n imageDiv.append(monkey.container);\n return monkey.load();\n }\n};\n\nconst page = new Page('page-authCode', true, onFirstMount, (_authCode: typeof authSentCode) => {\n authSentCode = _authCode;\n\n if(!headerElement) {\n headerElement = page.pageEl.getElementsByClassName('phone')[0] as HTMLHeadElement;\n sentTypeElement = page.pageEl.getElementsByClassName('sent-type')[0] as HTMLParagraphElement;\n } else {\n codeInput.value = '';\n\n const evt = document.createEvent('HTMLEvents');\n evt.initEvent('input', false, true);\n codeInput.dispatchEvent(evt);\n }\n\n const CODE_LENGTH = (authSentCode.type as AuthSentCodeType.authSentCodeTypeApp).length;\n if(!codeInputField) {\n codeInputField = new CodeInputField({\n label: 'Code',\n name: randomLong(),\n length: CODE_LENGTH,\n onFill: (code) => {\n submitCode(code);\n }\n });\n\n codeInput = codeInputField.input as HTMLInputElement;\n }\n\n codeInputField.options.length = CODE_LENGTH;\n\n headerElement.innerText = authSentCode.phone_number;\n let key: LangPackKey, args: any[];\n const authSentCodeType = authSentCode.type;\n switch(authSentCodeType._) {\n case 'auth.sentCodeTypeSms':\n key = 'Login.Code.SentSms';\n break;\n case 'auth.sentCodeTypeApp':\n key = 'Login.Code.SentInApp';\n break;\n case 'auth.sentCodeTypeCall':\n key = 'Login.Code.SentCall';\n break;\n case 'auth.sentCodeTypeFragmentSms':\n key = 'PhoneNumber.Code.Fragment.Info';\n const a = document.createElement('a');\n setBlankToAnchor(a);\n a.href = authSentCodeType.url;\n args = [a];\n break;\n default:\n key = 'Login.Code.SentUnknown';\n args = [authSentCodeType._];\n break;\n }\n\n replaceContent(sentTypeElement, i18n(key, args));\n\n rootScope.managers.appStateManager.pushToState('authState', {_: 'authStateAuthCode', sentCode: _authCode});\n\n return getAnimation();\n}, () => {\n codeInput.focus();\n});\n\nexport default page;\n"],"names":["codeInput","codeInputField","monkey","player","authSentCode","headerElement","sentTypeElement","cleanup","setTimeout","remove","page","pageEl","querySelector","append","container","editButton","_authCode","value","evt","document","createEvent","initEvent","dispatchEvent","getElementsByClassName","CODE_LENGTH","type","length","key","args","label","name","onFill","code","setAttribute","params","phone_number","phone_code_hash","phone_code","ignoreErrors","then","response","_","user","m","default","mount","catch","err","good","handled","classList","add","innerText","select","removeAttribute","submitCode","input","options","authSentCodeType","a","createElement","href","url","sentCode","imageDiv","size","firstElementChild","undefined","replaceChildren","loop","autoplay","width","height","animation","load","getAnimation","focus"],"sourceRoot":""}