{"version":3,"sources":["webpack:///./src/views/auth/SsoLogin.vue","webpack:///SsoLogin.vue","webpack:///./src/views/auth/SsoLogin.vue?bc64","webpack:///./src/views/auth/SsoLogin.vue?f88a","webpack:///./src/views/auth/afterLogin.js","webpack:///./src/views/auth/nativeAppFcmHandler.js"],"names":["render","_vm","this","_c","_self","_setup","_setupProxy","BCard","staticClass","BSpinner","staticRenderFns","root","getCurrentInstance","proxy","$root","onMounted","useJwt","loginWithSSoSmal","token","router","currentRoute","query","code","then","response","console","log","afterLogin","window","opener","location","reload","close","component","localStorage","clear","getCurrentStudentCharacter","getStudentCharacter","res","data","character","$store","commit","toLowerCase","catch","error","showErrorMessage","userData","setToken","accessToken","setItem","JSON","stringify","language","i18n","locale","getUserData","usertype","USER_TYPE_STUDENT","USER_TYPE_TEACHER","school","district","$router","replace","name","getLandingPageFor","dispatch","showSuccessMessage","themeOn","parseInt","moment","diff","dob","GEC_EVENT_BUS","$emit","nativeAppSubscribeTopic","id","nativeAppFcmLogin","ReactNativeWebView","postMessage","action","saveNativeMobileAppToken","saveFcmToken","userId","unSubscribeTopic"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAGE,EAAOJ,EAAIG,MAAME,YAAY,OAAOH,EAAG,MAAM,CAACA,EAAGE,EAAOE,MAAM,CAACC,YAAY,mBAAmB,CAACL,EAAGE,EAAOI,WAAW,IAAI,IAEhLC,EAAkB,G,+GCatB,IAAMC,EAAOC,kCAAqBC,MAAMC,M,OACxCC,wBAAU,WACRC,OAAOC,iBAAiB,CACtBC,MAAOC,OAAOC,aAAaC,MAAMC,OAChCC,MAAK,SAAAC,GACNC,QAAQC,IAAIF,GACZG,eAAWH,EAAUb,GACjBiB,OAAOC,SACTD,OAAOC,OAAOC,SAASC,SACvBH,OAAOI,e,iDCxB8V,I,YCOvWC,EAAY,eACd,EACAjC,EACAU,GACA,EACA,KACA,KACA,MAIa,aAAAuB,E,wNCTA,SAASN,EAAWH,EAAUb,GAC3CuB,aAAaC,QACb,IAAMC,EAA6B,WACjCpB,OAAOqB,sBAAsBd,MAAK,SAAAe,GAC5BA,EAAIC,KAAKA,KAAKC,WAChB7B,EAAK8B,OAAOC,OAAO,sCAAuCJ,EAAIC,KAAKA,KAAKC,UAAUG,kBAEnFC,OAAM,SAAAC,GACPlC,EAAKmC,iBAAiBD,OAIpBE,EAAWvB,EAASe,KAAKA,KAC/BvB,OAAOgC,SAASxB,EAASe,KAAKU,aAC9Bf,aAAagB,QAAQ,WAAYC,KAAKC,UAAUL,IAChDb,aAAagB,QAAQ,SAAUH,EAASM,UACxCC,OAAKC,OAASR,EAASM,SACvB1C,EAAK8B,OAAOC,OAAO,gCACfc,kBAAkBA,iBAAcC,WAAaC,QAAqBF,iBAAcC,WAAaE,SAC/FhD,EAAK8B,OAAOC,OAAO,+BAAgCK,EAASa,QAAU,IACtEjD,EAAK8B,OAAOC,OAAO,iCAAkCK,EAASc,UAAY,IAC1ElD,EAAK8B,OAAOC,OAAO,mCAAmC,IAExD/B,EAAKmD,QAAQC,QAAQ,CAAEC,KAAMC,eAAkBlB,EAASU,YAAalC,MAAK,WACxEZ,EAAK8B,OAAOyB,SAAS,0BACrBvD,EAAKwD,mBAAmB3C,GACpBgC,kBAAiBA,iBAAcC,WAAaC,QAAmBtB,IACnEzB,EAAK8B,OAAOC,OAAO,4BAA6BK,EAASqB,SACrDC,SAASC,MAASC,KAAKf,iBAAcgB,IAAK,SAAU,IAAM,IAC5D7D,EAAK8B,OAAOC,OAAO,qCAAqC,GAE1D+B,OAAcC,MAAM,YACQ,OAAxBxC,aAAaqB,QACfzB,SAASC,YAGb4C,eAAwB5B,EAAS6B,IACjCC,mB,kKC5CIA,EAAoB,WACxB,OAAKjD,OAAOkD,oBAGZlD,OAAOkD,mBAAmBC,YAAY5B,KAAKC,UAAU,CACnD4B,OAAQ,uBAIVpD,OAAOqD,yBAA2B,SAAA/D,GAChCgB,aAAagB,QAAQ,iBAAkBhC,GACvCF,OAAOkE,aAAa,CAClBhE,WAGG,MAbE,MAgBLyD,EAA0B,SAAAQ,GAC9B,OAAKvD,OAAOkD,oBAGZlD,OAAOkD,mBAAmBC,YAAY5B,KAAKC,UAAU,CACnD4B,OAAQ,sBACRG,YAEK,MANE,MASLC,EAAmB,SAAAD,GACvB,OAAKvD,OAAOkD,oBAGZlD,OAAOkD,mBAAmBC,YAAY5B,KAAKC,UAAU,CACnD4B,OAAQ,wBACRG,YAEK,MANE","file":"js/chunk-12ba7895.41d63f5c.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c(_setup.BCard,{staticClass:\"text-center p-3\"},[_c(_setup.BSpinner)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SsoLogin.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SsoLogin.vue?vue&type=script&setup=true&lang=js\"","import { render, staticRenderFns } from \"./SsoLogin.vue?vue&type=template&id=b0a037a2\"\nimport script from \"./SsoLogin.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SsoLogin.vue?vue&type=script&setup=true&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { getUserData } from '@/auth/utils'\nimport { USER_TYPE_STUDENT, USER_TYPE_TEACHER } from '@/const/userType'\nimport getLandingPageFor from '@/router/utils'\nimport useJwt from '@/auth/jwt/useJwt'\nimport moment from 'moment'\nimport i18n from '@/libs/i18n'\nimport GEC_EVENT_BUS from '@/utils/eventBus'\nimport { nativeAppFcmLogin, nativeAppSubscribeTopic } from './nativeAppFcmHandler'\n\nexport default function afterLogin(response, root) {\n localStorage.clear()\n const getCurrentStudentCharacter = () => {\n useJwt.getStudentCharacter().then(res => {\n if (res.data.data.character) {\n root.$store.commit('appConfig/UPDATE_SELECTED_CHARACTER', res.data.data.character.toLowerCase())\n }\n }).catch(error => {\n root.showErrorMessage(error)\n })\n }\n\n const userData = response.data.data\n useJwt.setToken(response.data.accessToken)\n localStorage.setItem('userData', JSON.stringify(userData))\n localStorage.setItem('locale', userData.language)\n i18n.locale = userData.language\n root.$store.commit('app/SET_COMPANY_INFORMATION')\n if (getUserData() && (getUserData().usertype === USER_TYPE_STUDENT || getUserData().usertype === USER_TYPE_TEACHER)) {\n root.$store.commit('appConfig/UPDATE_SCHOOL_INFO', userData.school || [])\n root.$store.commit('appConfig/UPDATE_DISTRICT_INFO', userData.district || [])\n root.$store.commit('appConfig/UPDATE_JUST_LOGGED_IN', true)\n }\n root.$router.replace({ name: getLandingPageFor(userData.usertype) }).then(() => {\n root.$store.dispatch('authEvents/onUserLogin')\n root.showSuccessMessage(response)\n if (getUserData() && getUserData().usertype === USER_TYPE_STUDENT) getCurrentStudentCharacter()\n root.$store.commit('appConfig/UPDATE_THEME_ON', userData.themeOn)\n if (parseInt(moment().diff(getUserData().dob, 'years'), 10) < 13) {\n root.$store.commit('appConfig/UPDATE_IS_STUDENT_YOUNG', true)\n }\n GEC_EVENT_BUS.$emit('loggedin')\n if (localStorage.locale !== 'en') {\n location.reload()\n }\n })\n nativeAppSubscribeTopic(userData.id)\n nativeAppFcmLogin()\n // save the mobile web application token here\n}\n","import useJwt from '@/auth/jwt/useJwt'\n\nconst nativeAppFcmLogin = () => {\n if (!window.ReactNativeWebView) {\n return null\n }\n window.ReactNativeWebView.postMessage(JSON.stringify({\n action: 'request_fcm_token',\n }))\n // You can use the userId to perform any necessary actions in your app,\n // such as saving the token to the database or setting up push notifications.\n window.saveNativeMobileAppToken = token => {\n localStorage.setItem('mobileFcmToken', token)\n useJwt.saveFcmToken({\n token,\n })\n }\n return null\n}\n\nconst nativeAppSubscribeTopic = userId => {\n if (!window.ReactNativeWebView) {\n return null\n }\n window.ReactNativeWebView.postMessage(JSON.stringify({\n action: 'subscribe_fcm_topic',\n userId,\n }))\n return null\n}\n\nconst unSubscribeTopic = userId => {\n if (!window.ReactNativeWebView) {\n return null\n }\n window.ReactNativeWebView.postMessage(JSON.stringify({\n action: 'unsubscribe_fcm_topic',\n userId,\n }))\n return null\n}\n\nexport {\n nativeAppSubscribeTopic,\n nativeAppFcmLogin,\n unSubscribeTopic,\n}\n"],"sourceRoot":""}