var vueLogin=Vue.createApp({data:()=>({current_page:"initialPending",current_subPage:"",newUser:!1,apiRequest:{login:{authMethod:"",userMOP:"",token:"",oath:""},editor:{oath:"",name:""}},apiResponse:[], oathQrBaseUrl:"https://chart.googleapis.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth%3A%2F%2Ftotp%2FCrypteo%3Fsecret%3D",apiUrl:"https://crypteo.de/loginApi/v0.1.0/loginApi.php",redirectUrl:"?"}),watch:{"apiResponse.newUser"(){ this.apiResponse.newUser&&(this.newUser=!0)},"apiResponse.userData.name"(){this.apiRequest.editor.name=this.apiResponse.userData.name},"apiResponse.request_loginStep"(){this.apiResponse.request_loginStep&&(this.current_page="login", this.current_subPage=this.apiResponse.request_loginStep)}},computed:{oathSecret(){return!!this.apiResponse.userData&&this.apiResponse.userData.oath_secret},errorMessage(){const e={invalid_token:"Sicherheitscode falsch.", regex_token:"Sicherheitscode nicht im richtigen Format.",invalid_oath:"Zweiter Faktor falsch.",regex_oath:"Zweiter Faktor nicht im richtigen Format.",account_locked:"Account gesperrt. Bitte wende dich an die Kundenbetreuung.", regex_mop:"Keine gültige Mobilfunknummer oder E-Mail-Adresse.",restart:"Entschuldigung, etwas ist schiefgegangen.",sms_error:"SMS konnte nicht gesendet werden.", timeout_error:"Entschuldigung, der Server ist gerade nicht erreichbar. Versuche es noch einmal.",unknown:"Entschulding, etwas ist schiefgegangen."} ;return!!this.apiResponse.errorCode&&(e[this.apiResponse.errorCode]?e[this.apiResponse.errorCode]:e.unknown)}},methods:{apiCall(e,t){let s=new FormData;for(let e in t)s.append(e,t[e]);axios.post(this.apiUrl+e,s,{timeout:7e3 }).then(e=>this.apiResponse=e.data).catch(e=>{"initialPending"==this.current_page&&(window.location.href=this.redirectUrl),this.apiResponse.errorCode="timeout_error"})},submitForm(){let e=this.current_subPage,t=this.current_page ;this.apiResponse=[];let s="?form="+e;this.apiCall(s,this.apiRequest[t])},skipForm(){switch(this.current_page){case"editor":switch(this.current_subPage){case"editName":this.newUser?(this.apiResponse.userData_edit_success="name", this.current_subPage="addOath"):this.current_subPage="home";break;case"addOath":this.newUser?window.location.href=this.redirectUrl:this.current_subPage="home"}break;case"login":switch(this.current_subPage){case"confirmMop": this.current_subPage="authMethod"}}}},created(){let e="forceLogin";new URLSearchParams(window.location.search).get("forceLogout")&&(e="forceLogout");let t="?form="+e;this.apiCall(t,{})},updated(){ if("initialPending"==this.current_page)if(this.apiResponse.login_successful)switch(this.apiResponse.loginOrigin){case"session":this.current_page="editor",this.current_subPage="home";break;case"cookie":window.location.href=this.redirectUrl }else this.apiResponse.logout_successful?window.location.href=this.redirectUrl:this.apiResponse.request_loginStep&&(this.current_page="login");switch(this.newUser){case!1: "form"==this.apiResponse.loginOrigin&&(window.location.href=this.redirectUrl),this.apiResponse.userData_edit_success&&(window.location.href="?file=login");break;case!0: "form"==this.apiResponse.loginOrigin&&"editName"!=this.current_subPage&&(this.current_page="editor",this.current_subPage="editName"), "name"==this.apiResponse.userData_edit_success&&"addOath"!=this.current_subPage&&(this.current_subPage="addOath"),"hasOath"==this.apiResponse.userData_edit_success&&(window.location.href=this.redirectUrl)}}});vueLogin.mount("#vuelogin");