tweb/public/339.12bdbede82465e666965.ch...

1 line
10 KiB
Plaintext

{"version":3,"file":"339.12bdbede82465e666965.chunk.js","mappings":"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","sources":["webpack://tweb/./src/pages/loginPage.ts","webpack://tweb/./src/pages/pageSignUp.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 {LangPackKey, i18n} from '../lib/langPack';\n\nexport default class LoginPage {\n public element: HTMLElement;\n public container: HTMLElement;\n public imageDiv: HTMLElement;\n public inputWrapper: HTMLElement;\n public title: HTMLElement;\n public subtitle: HTMLParagraphElement;\n\n constructor(options: {\n className: string,\n withInputWrapper?: boolean,\n titleLangKey?: LangPackKey,\n subtitleLangKey?: LangPackKey,\n }) {\n this.element = document.body.querySelector('.' + options.className) as HTMLDivElement;\n // this.element = document.createElement('div');\n // this.element.className = 'page-' + options.className;\n\n this.container = document.createElement('div');\n this.container.className = 'container center-align';\n\n this.imageDiv = document.createElement('div');\n this.imageDiv.className = 'auth-image';\n\n this.title = document.createElement('h4');\n if(options.titleLangKey) {\n this.title.append(i18n(options.titleLangKey));\n }\n\n this.subtitle = document.createElement('p');\n this.subtitle.className = 'subtitle';\n if(options.subtitleLangKey) {\n this.subtitle.append(i18n(options.subtitleLangKey));\n }\n\n this.container.append(this.imageDiv, this.title, this.subtitle);\n\n if(options.withInputWrapper) {\n this.inputWrapper = document.createElement('div');\n this.inputWrapper.className = 'input-wrapper';\n this.container.append(this.inputWrapper);\n }\n\n this.element.append(this.container);\n }\n}\n","/*\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 type {CancellablePromise} from '../helpers/cancellablePromise';\nimport type {InputFile} from '../layer';\nimport type {AuthState} from '../types';\nimport LoginPage from './loginPage';\nimport Page from './page';\nimport blurActiveElement from '../helpers/dom/blurActiveElement';\nimport rootScope from '../lib/rootScope';\nimport InputField from '../components/inputField';\nimport PopupElement from '../components/popups';\nimport PopupAvatar from '../components/popups/avatar';\nimport replaceContent from '../helpers/dom/replaceContent';\nimport I18n, {i18n} from '../lib/langPack';\nimport wrapEmojiText from '../lib/richTextProcessor/wrapEmojiText';\nimport Button from '../components/button';\nimport {putPreloader} from '../components/putPreloader';\n\nlet authCode: AuthState.signUp['authCode'] = null;\n\nconst onFirstMount = async() => {\n const page = new LoginPage({\n className: 'page-signUp',\n withInputWrapper: true,\n titleLangKey: 'YourName',\n subtitleLangKey: 'Login.Register.Subtitle'\n });\n\n page.imageDiv.classList.add('avatar-edit');\n\n page.title.classList.add('fullName');\n\n const avatarPreview = document.createElement('canvas');\n avatarPreview.id = 'canvas-avatar';\n avatarPreview.className = 'avatar-edit-canvas';\n\n const addIco = document.createElement('span');\n addIco.className = 'tgico tgico-cameraadd';\n\n page.imageDiv.append(avatarPreview, addIco);\n\n let uploadAvatar: () => CancellablePromise<InputFile>;\n page.imageDiv.addEventListener('click', () => {\n PopupElement.createPopup(PopupAvatar).open(avatarPreview, (_uploadAvatar) => {\n uploadAvatar = _uploadAvatar;\n });\n });\n\n const handleInput = (e: Event) => {\n const name = nameInputField.value || '';\n const lastName = lastNameInputField.value || '';\n\n const fullName = name || lastName ?\n (name + ' ' + lastName).trim() :\n '';\n\n if(fullName) replaceContent(page.title, wrapEmojiText(fullName));\n else replaceContent(page.title, i18n('YourName'));\n };\n\n const sendAvatar = () => new Promise<void>((resolve, reject) => {\n if(!uploadAvatar) {\n // console.log('User has not selected avatar');\n return resolve();\n }\n\n // console.log('invoking uploadFile...');\n uploadAvatar().then((inputFile) => {\n // console.log('uploaded smthn', inputFile);\n\n rootScope.managers.appProfileManager.uploadProfilePhoto(inputFile).then(resolve, reject);\n }, reject);\n });\n\n const nameInputField = new InputField({\n label: 'FirstName',\n maxLength: 70\n });\n\n const lastNameInputField = new InputField({\n label: 'LastName',\n maxLength: 64\n });\n\n const btnSignUp = Button('btn-primary btn-color-primary');\n const btnI18n = new I18n.IntlElement({key: 'StartMessaging'});\n btnSignUp.append(btnI18n.element);\n\n page.inputWrapper.append(nameInputField.container, lastNameInputField.container, btnSignUp);\n\n nameInputField.input.addEventListener('input', handleInput);\n lastNameInputField.input.addEventListener('input', handleInput);\n\n btnSignUp.addEventListener('click', function(this: typeof btnSignUp, e) {\n if(nameInputField.input.classList.contains('error') || lastNameInputField.input.classList.contains('error')) {\n return false;\n }\n\n if(!nameInputField.value.length) {\n nameInputField.input.classList.add('error');\n return false;\n }\n\n this.disabled = true;\n\n const name = nameInputField.value.trim();\n const lastName = lastNameInputField.value.trim();\n\n const params = {\n phone_number: authCode.phone_number,\n phone_code_hash: authCode.phone_code_hash,\n first_name: name,\n last_name: lastName\n };\n\n // console.log('invoking auth.signUp with params:', params);\n\n btnI18n.update({key: 'PleaseWait'});\n const preloader = putPreloader(this);\n\n rootScope.managers.apiManager.invokeApi('auth.signUp', params)\n .then((response) => {\n // console.log('auth.signUp response:', response);\n\n switch(response._) {\n case 'auth.authorization': // success\n rootScope.managers.apiManager.setUser(response.user);\n\n sendAvatar().finally(() => {\n import('./pageIm').then((m) => {\n m.default.mount();\n });\n });\n\n break;\n default:\n btnI18n.update({key: response._ as any});\n this.removeAttribute('disabled');\n preloader.remove();\n break;\n }\n\n /* (document.body.getElementsByClassName('page-sign')[0] as HTMLDivElement).style.display = 'none';\n pageAuthCode(Object.assign(code, {phoneNumber})); */\n }).catch((err) => {\n this.removeAttribute('disabled');\n preloader.remove();\n\n switch(err.type) {\n default:\n btnI18n.update({key: err.type});\n break;\n }\n });\n });\n\n blurActiveElement();\n return new Promise((resolve) => {\n window.requestAnimationFrame(resolve);\n });\n};\n\nconst page = new Page('page-signUp', true, onFirstMount, (_authCode: typeof authCode) => {\n authCode = _authCode;\n\n rootScope.managers.appStateManager.pushToState('authState', {_: 'authStateSignUp', authCode: _authCode});\n});\n\nexport default page;\n"],"names":["LoginPage","constructor","options","this","element","document","body","querySelector","className","container","createElement","imageDiv","title","titleLangKey","append","subtitle","subtitleLangKey","withInputWrapper","inputWrapper","authCode","page","classList","add","avatarPreview","id","addIco","uploadAvatar","addEventListener","open","_uploadAvatar","handleInput","e","name","nameInputField","value","lastName","lastNameInputField","fullName","trim","label","maxLength","btnSignUp","btnI18n","key","input","contains","length","disabled","params","phone_number","phone_code_hash","first_name","last_name","update","preloader","then","response","_","user","Promise","resolve","reject","inputFile","finally","m","default","mount","removeAttribute","remove","catch","err","type","window","requestAnimationFrame","_authCode"],"sourceRoot":""}