{"version":3,"file":"static/js/9977.0e34d634.chunk.js","mappings":"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","sources":["components/login/google-onetap.js"],"sourcesContent":["import {getSyncedPassengerData, initLogin} from '../../actions/main';\nimport {getUserDetailsApi, googleOneTapLoginApi} from '../../api/api';\nimport {setTaraSupportCookies} from '../../utils/common-methods';\nimport {Config} from '../../utils/Config';\nimport {LOCALSTORAGE_KEY} from '../../utils/constants';\nimport {CookieName, setCookie} from '../../utils/cookieManager';\n\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Dialog from '@material-ui/core/Dialog';\nimport firebase from 'firebase/app';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport 'firebase/analytics';\n\nexport default function GoogleOneTap({props, openLogin}) {\n  const isSignInButton = props.loginReducer.isSignInButton;\n  const [isLoading, setLoading] = useState(false);\n  useSelector((state) => state.loginReducer);\n  const dispatch = useDispatch();\n\n  try {\n    useEffect(() => {\n      const autoLogin = sessionStorage.getItem(LOCALSTORAGE_KEY.G_AUTO_LOGIN);\n      firebase.analytics().logEvent('GoogleOneTapLoginClicked');\n\n      const handleCredentialResponse = (response) => {\n        setLoading(true);\n\n        if (response.select_by === 'auto') {\n          // prevent dead loop of autoLogin\n          sessionStorage.setItem(LOCALSTORAGE_KEY.G_AUTO_LOGIN, true);\n          firebase.analytics().logEvent('GoogleOneTapAutoLoginFlow');\n        }\n\n        googleOneTapLoginApi(response.credential)\n          .then(async (res) => {\n            setCookie(CookieName.USERTOKEN, res.authToken, 60);\n            setCookie(CookieName.USERTEMPTOKEN, res.tempToken, 60);\n            setCookie(CookieName.LOGINTYPE, CookieName.GOOGLE, 60);\n\n            setTaraSupportCookies({\n              tempToken: res.tempToken,\n              authToken: res.authToken,\n            });\n\n            getSyncedPassengerData(res.authToken);\n\n            return await getUserDetailsApi(res.authToken);\n          })\n          .then((res) => {\n            if (res) {\n              firebase.analytics().logEvent('GoogleOneTapLoginSuccess');\n\n              setCookie(CookieName.USERNAME, res.Name, 60);\n              setCookie(CookieName.USEREMAIL, res.Email, 60);\n              setCookie(CookieName.USERIMG, res.ProfileImage, 60);\n              if (res.PhoneNumber.length >= 10) {\n                setCookie(CookieName.USERMOBILE, res.PhoneNumber, 60);\n              }\n\n              if (isSignInButton) {\n                const defaultPath = props.loginReducer.redirectPath;\n                if (defaultPath) props.history.replace(defaultPath);\n\n                props.closeLoginDialog();\n              }\n\n              if (openLogin) openLogin('HIDEONETAP');\n              window.location.reload();\n            }\n          })\n          .catch((error) => {\n            setLoading(false);\n            firebase.analytics().logEvent('GoogleOneTapLoginError', {\n              Error: error.message || error,\n            });\n            if (isSignInButton) props.closeLoginDialog();\n\n            if (openLogin) openLogin('HIDEONETAP');\n            dispatch(\n              initLogin({\n                redirectPath: props.history.location.pathname,\n              })\n            );\n          });\n      };\n\n      if (!window.google) return;\n\n      window.google.accounts.id.initialize({\n        client_id: `${Config.OAuthClientId}`,\n        callback: handleCredentialResponse,\n        cancel_on_tap_outside: true,\n        ...(!autoLogin && {auto_select: true}),\n      });\n\n      if (isSignInButton) {\n        // prevent two Button renders\n        if (document.getElementsByClassName('g_id_signin').length > 1) {\n          document.getElementsByClassName('g_id_signin')[0].remove();\n        }\n\n        window.google.accounts.id.renderButton(\n          document.getElementsByClassName('g_id_signin')[0],\n          {\n            width: '400px',\n            type: 'standard',\n            theme: 'outline',\n            text: 'signin_with',\n            size: 'large',\n          }\n        );\n      } else {\n        window.google.accounts.id.prompt((notification) => {\n          if (notification.isDisplayed()) {\n            setLoading(false);\n            firebase.analytics().logEvent('GoogleOneTapLoginShown');\n          }\n\n          if (notification.isNotDisplayed() || notification.isSkippedMoment()) {\n            if (openLogin) openLogin('HIDEONETAP');\n\n            firebase.analytics().logEvent('GoogleOneTapLoginError', {\n              Error:\n                notification.getNotDisplayedReason() ||\n                notification.getSkippedReason(),\n            });\n\n            if (isSignInButton) {\n              dispatch(\n                initLogin({\n                  isSignInButton: true,\n                  redirectPath: props.history.location.pathname,\n                })\n              );\n            }\n          }\n        });\n      }\n    }, [openLogin, props, isSignInButton, dispatch]);\n\n    const Loader = isLoading && (\n      <Dialog fullWidth open={true} maxWidth=\"xs\">\n        <div className=\"loading\" style={{margin: '2rem'}}>\n          <CircularProgress />\n        </div>\n      </Dialog>\n    );\n\n    const OneTapSignin = <div id=\"g_id_onload\"></div>;\n\n    const GoogleSignInButton = <div className=\"g_id_signin\"></div>;\n\n    return (\n      <>\n        {Loader}\n        {isSignInButton ? GoogleSignInButton : OneTapSignin}\n      </>\n    );\n  } catch (error) {\n    dispatch(\n      initLogin({\n        redirectPath: props.history.location.pathname,\n      })\n    );\n  }\n}\n"],"names":["GoogleOneTap","_ref","props","openLogin","isSignInButton","loginReducer","isLoading","setLoading","useState","useSelector","state","dispatch","useDispatch","useEffect","autoLogin","sessionStorage","getItem","LOCALSTORAGE_KEY","G_AUTO_LOGIN","firebase","logEvent","window","google","accounts","id","initialize","client_id","concat","Config","OAuthClientId","callback","response","select_by","setItem","googleOneTapLoginApi","credential","then","async","setCookie","CookieName","USERTOKEN","res","authToken","USERTEMPTOKEN","tempToken","LOGINTYPE","GOOGLE","setTaraSupportCookies","getSyncedPassengerData","getUserDetailsApi","USERNAME","Name","USEREMAIL","Email","USERIMG","ProfileImage","PhoneNumber","length","USERMOBILE","defaultPath","redirectPath","history","replace","closeLoginDialog","location","reload","catch","error","Error","message","initLogin","pathname","cancel_on_tap_outside","auto_select","document","getElementsByClassName","remove","renderButton","width","type","theme","text","size","prompt","notification","isDisplayed","isNotDisplayed","isSkippedMoment","getNotDisplayedReason","getSkippedReason","Loader","_jsx","Dialog","fullWidth","open","maxWidth","children","className","style","margin","CircularProgress","OneTapSignin","GoogleSignInButton","_jsxs","_Fragment"],"sourceRoot":""}