{"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","getCurrentStudentCharacter","getStudentCharacter","res","data","character","$store","commit","toLowerCase","catch","error","showErrorMessage","userData","setToken","accessToken","localStorage","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,GAC3C,IAAMuB,EAA6B,WACjClB,OAAOmB,sBAAsBZ,MAAK,SAAAa,GAC5BA,EAAIC,KAAKA,KAAKC,WAChB3B,EAAK4B,OAAOC,OAAO,sCAAuCJ,EAAIC,KAAKA,KAAKC,UAAUG,kBAEnFC,OAAM,SAAAC,GACPhC,EAAKiC,iBAAiBD,OAIpBE,EAAWrB,EAASa,KAAKA,KAC/BrB,OAAO8B,SAAStB,EAASa,KAAKU,aAC9BC,aAAaC,QAAQ,WAAYC,KAAKC,UAAUN,IAChDG,aAAaC,QAAQ,SAAUJ,EAASO,UACxCC,OAAKC,OAAST,EAASO,SACvBzC,EAAK4B,OAAOC,OAAO,gCACfe,kBAAkBA,iBAAcC,WAAaC,QAAqBF,iBAAcC,WAAaE,SAC/F/C,EAAK4B,OAAOC,OAAO,+BAAgCK,EAASc,QAAU,IACtEhD,EAAK4B,OAAOC,OAAO,iCAAkCK,EAASe,UAAY,IAC1EjD,EAAK4B,OAAOC,OAAO,mCAAmC,IAExD7B,EAAKkD,QAAQC,QAAQ,CAAEC,KAAMC,eAAkBnB,EAASW,YAAajC,MAAK,WACxEZ,EAAK4B,OAAO0B,SAAS,0BACrBtD,EAAKuD,mBAAmB1C,GACpB+B,kBAAiBA,iBAAcC,WAAaC,QAAmBvB,IACnEvB,EAAK4B,OAAOC,OAAO,4BAA6BK,EAASsB,SACrDC,SAASC,MAASC,KAAKf,iBAAcgB,IAAK,SAAU,IAAM,IAC5D5D,EAAK4B,OAAOC,OAAO,qCAAqC,GAE1DgC,OAAcC,MAAM,YACQ,OAAxBzB,aAAaM,QACfxB,SAASC,YAGb2C,eAAwB7B,EAAS8B,IACjCC,mB,kKC3CIA,EAAoB,WACxB,OAAKhD,OAAOiD,oBAGZjD,OAAOiD,mBAAmBC,YAAY5B,KAAKC,UAAU,CACnD4B,OAAQ,uBAIVnD,OAAOoD,yBAA2B,SAAA9D,GAChC8B,aAAaC,QAAQ,iBAAkB/B,GACvCF,OAAOiE,aAAa,CAClB/D,WAGG,MAbE,MAgBLwD,EAA0B,SAAAQ,GAC9B,OAAKtD,OAAOiD,oBAGZjD,OAAOiD,mBAAmBC,YAAY5B,KAAKC,UAAU,CACnD4B,OAAQ,sBACRG,YAEK,MANE,MASLC,EAAmB,SAAAD,GACvB,OAAKtD,OAAOiD,oBAGZjD,OAAOiD,mBAAmBC,YAAY5B,KAAKC,UAAU,CACnD4B,OAAQ,wBACRG,YAEK,MANE","file":"js/chunk-12ba7895.99686768.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 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":""}