{"mappings":"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","sources":["packages/ipa/src/modules/auth/pages/LoginView/LoginView.tsx","packages/ipa/src/modules/auth/pages/LoginView/LoginView.styles.ts"],"sourcesContent":["import React, { useEffect, useRef, useState, useContext } from 'react';\nimport { Link, Redirect, withRouter, RouteComponentProps } from 'react-router-dom';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport isNull from 'lodash/isNull';\n\nimport { TextField, Checkbox, LoadingIndicator, Icon } from '@indico-data/permafrost';\n\n// App\nimport { PageContainer } from 'root/components/PageContainer';\nimport * as StorageAPI from 'root/providers/storage-provider';\nimport { STORAGE_VALUE_EMAIL } from 'root/constants/app';\nimport UserContext from 'root/store/userContext';\nimport { useCurrentUser, useAuthLoading, useXSRFToken } from 'root/hooks/authentication';\nimport * as ROUTES from 'root/constants/router';\n\n// Auth\nimport { authenticateUser } from 'Auth/actions/auth-actions';\nimport * as ERROR_CODES from 'Auth/constants/error-codes';\n\nimport { AppLogo, SmallLoadingIndicator } from 'Auth/components';\nimport Panel from 'Auth/components/Panel/Panel';\n\nimport { StyledLoginView } from './LoginView.styles';\nimport { AddToast } from 'root/components/messaging/ToastsList/ToastsList';\nimport { withToast } from 'root/components/messaging/ToastsList/withToast';\n\ntype Props = {\n addToast: AddToast;\n redirect: { pathname: string; search: string };\n} & RouteComponentProps;\n\nconst LoginView = (props: Props) => {\n const { addToast } = props;\n const reRef = useRef();\n const currentUser = useCurrentUser();\n const authLoading = useAuthLoading();\n const [expiredEmail, setExpiredEmail] = useState('');\n const [userEmail, setUserEmail] = useState('');\n const [userPassword, setUserPassword] = useState('');\n const [expired, setExpired] = useState(false);\n const [rememberMe, setRememberMe] = useState(false);\n const dispatch = useContext(UserContext)[1];\n const token = useXSRFToken();\n\n useEffect(() => {\n StorageAPI.retrieveValue(STORAGE_VALUE_EMAIL)\n .then((data) => {\n setUserEmail(data);\n setRememberMe(true);\n })\n .catch(() => {});\n }, []);\n\n const onLoginSubmit = (e: React.SyntheticEvent) => {\n e.preventDefault();\n if (window.indico.googleRecaptcha) {\n reRef.current.execute();\n } else {\n authenticateUser(\n { email: userEmail, password: userPassword, rememberMe, xsrfToken: token },\n dispatch,\n addToast\n ).catch((error: { type: string }) => {\n if (error.type === ERROR_CODES.EXPIRED_ACCOUNT) {\n setExpired(true);\n }\n });\n }\n };\n\n const onRecaptchaSubmit = (googleToken: string | null) => {\n if (authLoading || !googleToken) return;\n if (window.indico.googleRecaptcha) {\n authenticateUser(\n { email: userEmail, password: userPassword, rememberMe },\n dispatch,\n addToast,\n googleToken\n ).catch((error: { type: string }) => {\n if (error.type === ERROR_CODES.EXPIRED_ACCOUNT) {\n setExpired(true);\n }\n });\n reRef.current.reset();\n }\n };\n\n const renderEmailPassword = () => {\n return (\n
\n
\n ) => {\n setUserEmail(e.target.value);\n setExpiredEmail(e.target.value);\n }}\n value={userEmail}\n inputProps={{\n 'data-cy': 'loginViewEmail',\n }}\n />\n\n ) => {\n setUserPassword(e.target.value);\n }}\n value={userPassword}\n inputProps={{\n 'data-cy': 'loginViewPassword',\n }}\n />\n

\n \n Forgot Password?\n \n

\n {\n setRememberMe(!rememberMe);\n }}\n >\n Remember me\n \n {authLoading ? (\n \n ) : (\n \n Sign In to My Account\n \n )}\n \n Need an Account?\n \n \n
\n );\n };\n\n const renderSSO = () => {\n return (\n
\n \n \n Sign In to Corporate Account\n \n
\n );\n };\n\n const renderLoginOption = (option: 'ALL' | 'SSO' | 'EMAIL') => {\n if (option === 'ALL' && !window.indico?.features?.trialEdition) {\n return (\n <>\n {renderSSO()}\n
\n {renderEmailPassword()}\n \n );\n } else if (option === 'SSO' && !window.indico?.features?.trialEdition) {\n return renderSSO();\n } else {\n return renderEmailPassword();\n }\n };\n\n if (\n !isNull(currentUser) &&\n !currentUser?.scopes?.map((s) => s.scope.toUpperCase()).includes('APP_ACCESS')\n ) {\n return ;\n } else if (!isNull(currentUser) && props.redirect.pathname) {\n return ;\n } else if (!isNull(currentUser)) {\n return ;\n } else if (expired) {\n return (\n \n \n \n\n \n setExpiredEmail(e.target.value)}\n value={expiredEmail}\n inputProps={{\n 'data-cy': 'expiredViewEmail',\n }}\n />\n

\n Your Trial Edition has expired. If you’re interested in discussing how Indico can\n continue helping with your organization’s unstructured data, please schedule a time to\n speak with us.\n

\n \n Schedule Time with an Indico Representative\n \n
\n
\n {window.indico.googleRecaptcha ? (\n onRecaptchaSubmit(token)}\n />\n ) : null}\n
\n );\n } else {\n return (\n \n \n \n {authLoading ? (\n \n ) : (\n \n {window.indico.features.loginOption\n ? renderLoginOption(window.indico.featuresConfig.loginOption)\n : renderEmailPassword()}\n \n )}\n \n {window.indico.googleRecaptcha ? (\n onRecaptchaSubmit(token)}\n />\n ) : null}\n \n );\n }\n};\n\nexport default withToast(withRouter(LoginView));\n","import styled from 'styled-components';\nimport { COLORS, MEDIA_QUERIES } from '@indico-data/permafrost';\n\nexport const StyledLoginView = styled.div`\n .login-method-container {\n padding: 0 15px;\n }\n\n .full-width {\n width: 100%;\n }\n\n .sso-icon {\n margin-right: 8px;\n }\n\n .sso {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n button + a {\n margin-top: 12px;\n }\n\n .cta {\n font-size: 14px;\n\n @media ${MEDIA_QUERIES.mediumScreen} {\n font-size: 16px;\n }\n }\n\n .LoginView--submit {\n margin-top: 20px;\n }\n\n .forgot-action {\n font-size: 13px;\n margin-bottom: 30px;\n margin-top: 10px;\n\n a {\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .remember-me {\n margin-bottom: 33px;\n }\n\n .email-expired {\n margin-bottom: 20px;\n }\n\n .prompt {\n color: ${COLORS.fieldPromptInfo};\n font-size: 16px;\n text-align: center;\n margin-bottom: 20px;\n }\n`;\n"],"names":["parcelHelpers","require","_react","_reactRouterDom","_reactGoogleRecaptcha","_isNull","_permafrost","_pageContainer","_storageProvider","_app","_userContext","_authentication","_router","_authActions","_errorCodes","_components","_panel","_loginViewStyles","_withToast","withToast","withRouter","props","currentUser","addToast","reRef","useRef","useCurrentUser","authLoading","useAuthLoading","useState","_slicedToArrayJsDefault","default","expiredEmail","setExpiredEmail","userEmail","setUserEmail","userPassword","setUserPassword","expired","setExpired","rememberMe","setRememberMe","dispatch","useContext","UserContext","token","useXSRFToken","useEffect","StorageAPI","retrieveValue","STORAGE_VALUE_EMAIL","then","data","catch","option","window","ref6","ref8","onLoginSubmit","e","preventDefault","indico","googleRecaptcha","current","execute","authenticateUser","email","password","xsrfToken","error","type","ERROR_CODES","EXPIRED_ACCOUNT","onRecaptchaSubmit","googleToken","reset","renderEmailPassword","_jsxRuntime","jsx","className","jsxs","onSubmit","TextField","required","label","autoFocus","onChange","target","value","inputProps","Link","to","ROUTES","AUTH_FORGOT","Checkbox","isSelected","SmallLoadingIndicator","disabled","AUTH_REGISTER","renderSSO","href","location","origin","concat","AUTH_SSO_LOGIN","Icon","name","size","isNull","scopes","map","s","scope","toUpperCase","includes","redirect","pathname","Redirect","search","StyledLoginView","PageContainer","module","AppLogo","_panelDefault","headerText","rel","_reactGoogleRecaptchaDefault","badge","sitekey","ref","LoadingIndicator","features","loginOption","featuresConfig","trialEdition","Fragment","AUTH_ACCOUNT","BASE_NO_ACCESS","_styledComponents","styled","div","_templateObject","MEDIA_QUERIES","mediumScreen","COLORS","fieldPromptInfo"],"version":3,"file":"LoginView.80fb028d.js.map"}