{"version":3,"file":"static/chunks/pages/login-a63eb6fd32697da0.js","mappings":"qFACA,CAAAA,OAAAC,QAAA,CAAAD,OAAAC,QAAA,MAAAC,IAAA,EACA,SACA,WACA,OAAeC,EAAQ,MACvB,EACA,g5ECHO,IAAMC,EAAOC,EAAAA,GAAAA,CAAAA,IAAW,CAAAC,IAMXC,EAAAA,EAAgBA,EAIvBC,EAAUH,EAAAA,GAAAA,CAAAA,GAAU,CAAAI,IASdC,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAIfC,EAA2B,EAE3BC,EAAYP,EAAAA,GAAAA,CAAAA,GAAU,CAAAQ,IAEtBH,EAAAA,EAAAA,CAAAA,KAAQ,CAACC,GAA6BD,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAKxCA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GACRA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GACbA,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,sBAIPI,EAAyBC,CAAAA,EAAAA,EAAAA,GAAAA,EAAGA,KAQ5BC,EAAgBX,EAAAA,GAAAA,CAAAA,GAAU,CAAAY,IACnCH,EAESJ,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAAQA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAGpBA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAIfQ,EAAUb,EAAAA,GAAAA,CAAAA,GAAU,CAAAc,IAIpBT,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAAMA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAGtBA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAITA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAAOA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAAOA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,KAI3CU,EAAQf,EAAAA,GAAAA,CAAAA,GAAU,CAAAgB,IAC3BX,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,YAGaA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GACb,GAAoBY,IAAnB,CAAEA,UAAAA,CAAAA,CAAW,CAAAC,SAAMD,GAAwB,QAAO,GAGtDE,EAAWnB,EAAAA,GAAAA,CAAAA,GAAU,CAAAoB,IAC9Bf,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,cAEaA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAIhBgB,EAAsBrB,EAAAA,GAAAA,CAAAA,MAAa,CAAAsB,IAC5CjB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,YAKMA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAQTkB,EAAwBvB,EAAAA,GAAAA,CAAAA,GAAU,CAAAwB,yoBCpGxC,IAAMb,EAAgBX,EAAAA,GAAAA,CAAAA,GAAU,CAAAC,IACnCQ,EAAAA,EAAsBA,CAEbJ,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAAQA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAGxBA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAAQA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,IAIpBL,EAAAA,GAAAA,CAAAA,EAAS,CAAAI,IAC1BC,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,YAGaA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,GAGPA,EAAAA,EAAAA,CAAAA,KAAQ,CAAC,aC2BhB,SAASoB,GAAQ,CAC9B,GAAM,CAAEC,aAAAA,CAAAA,CAAcC,UAAAA,CAAAA,CAAWC,UAAAA,CAAAA,CAAWC,SAAAA,CAAAA,CAAU,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IAInDC,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CACJC,KAAM,CAAEC,eAAgBC,CAAAA,CAAgBC,SAAUC,CAAAA,CAAa,CAC/DC,EAAAA,CAAAA,CACD,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IACE,CAAEC,6BAAAA,CAAAA,CAA8B,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IACnC,CAAEC,KAAMC,CAAAA,CAAkB,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IAC7BC,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACT,CAAEC,UAAAA,CAAAA,CAAW,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IAEhB,CAACC,EAASC,EAAW,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACjCC,EAAiBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,EAAcA,EAE3CC,EAAuB,GAAkB,CAC7CpB,EAAeqB,GACfzB,EAAS0B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYD,GACvB,EAEM,CAAEE,KAAAA,CAAAA,CAAMC,MAAAA,CAAAA,CAAOC,MAAAA,CAAAA,CAAOC,QAAAA,CAAAA,CAAS,CAAGC,CAAAA,EAAAA,EAAAA,aAAAA,EAAc,CACpDzB,YAAAA,EACAe,eAAAA,EACAjB,eAAgBoB,EAChBQ,YAAahB,EACbiB,WAAUA,EAAAA,MAAAA,GAGZC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,IAAM,CACd,GAAI,GAAUJ,GAId,GACO,cADCH,EAAKQ,IAAI,EAEb,GAAM,CAAEC,SAAAA,CAAAA,CAAU,GAAGC,EAAQ,CAAGxC,IAC1ByC,EAAQD,EAAOC,KAAK,CAACC,iBAAiB,GAEtC,CACJC,QAASC,CAAAA,CACTC,eAAAA,CAAAA,CACAC,OAAAA,CAAAA,CACAC,KAAAA,CAAAA,CACAC,SAAAA,CAAAA,CACD,CAAGlB,EAAKmB,OAAO,CACV,CAAEC,SAAAA,CAAAA,CAAU,CAAGJ,EACf,CAAEK,mCAAAA,CAAAA,CAAoCC,SAAAA,CAAAA,CAAUC,WAAAA,CAAAA,CAAY,CAChEN,EAEF5C,EACEmD,CAAAA,EAAAA,EAAAA,EAAAA,EAAW,CACTH,mCAAAA,EACAN,eAAAA,EACAO,SAAAA,EACAX,MAAAA,EACAS,SAAAA,EACAX,SAAAA,EACAK,QAAAA,EACAS,WAAAA,EACAL,SAAAA,CACF,IAGF/B,EAAOhD,IAAI,CAACsF,EAAAA,EAAAA,CAAAA,mBAA0B,OAItCpD,EAASqD,CAAAA,EAAAA,EAAAA,EAAAA,KACT,GAAM,CAAEC,UAAAA,EAAYF,EAAAA,EAAAA,CAAAA,SAAgB,CAAE,CAAGtC,EAAOyC,KAAK,EAAI,CAAC,EAC1DzC,EAAOhD,IAAI,CAACwF,GAChB,CAvCC,EAwCA,CAAC3B,EAAM3B,EAAUH,EAAWiB,EAAQgB,EAAQ,EAE/CI,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,IAAM,CACd,GAAIN,IAAU4B,EAAAA,UAAAA,CAAAA,IAAe,CAM7B,OAFArC,EAAW,IAEHS,GACN,KAAK4B,EAAAA,UAAAA,CAAAA,YAAuB,CAC1B1C,EAAOhD,IAAI,CAACsF,EAAAA,EAAAA,CAAAA,OAAc,EAC1B,KAAM,MACHI,EAAAA,UAAAA,CAAAA,WAAsB,CAEzB,KAAM,MACHA,EAAAA,UAAAA,CAAAA,QAAmB,CACtB5C,EAAiB,CACf6C,QAAS,yCACTC,MAAO,sCACT,GACA,KAAM,MACHF,EAAAA,UAAAA,CAAAA,uBAAkC,CACrC1C,EAAOhD,IAAI,CAACsF,EAAAA,EAAAA,CAAAA,mBAA0B,EACtC,KAAM,MACHI,EAAAA,UAAAA,CAAAA,WAAsB,CAEzB,KAAM,SAEN/C,GAEJ,CA1BC,EA2BA,CAACmB,EAAM,EAEV,IAAM+B,EAAuB,IAAM,CACjC7C,EAAOhD,IAAI,CAACsF,EAAAA,EAAAA,CAAAA,UAAiB,CAC/B,EACMQ,EAA2B,IAAM,CACrC9C,EAAOhD,IAAI,CAACsF,EAAAA,EAAAA,CAAAA,aAAoB,CAClC,EAEMS,EAAWlE,EAAa,MAAO0C,GAAW,CAC9C,GAAM,CAAED,SAAAA,CAAAA,CAAU,CAAGC,EACfC,EAAQD,EAAOC,KAAK,CAACC,iBAAiB,GAE5CpB,EAAW,IAEXnB,EAAS8D,CAAAA,EAAAA,EAAAA,EAAAA,EAASxB,IAClBtC,EAAS+D,CAAAA,EAAAA,EAAAA,EAAAA,EAAY3B,IAErB,MAAMP,EAAM,CACVO,SAAAA,EACAS,SAAUP,CACZ,EACF,GAEA,MACE,GAAA0B,EAAAC,GAAA,EAACC,OAAAA,UACC,GAAAF,EAAAG,IAAA,EAAC/F,EAAAA,EAAOA,CAAAA,WACN,GAAA4F,EAAAG,IAAA,EAAC3F,EAAAA,EAASA,CAAAA,WACR,GAAAwF,EAAAC,GAAA,EAACrF,EAAaA,UACZ,GAAAoF,EAAAC,GAAA,EAACG,EAAAA,EAAIA,CAAAA,CAAAA,KAGP,GAAAJ,EAAAG,IAAA,EAACE,EAAAA,EAAIA,CAAAA,CACHC,QAAS,CACPC,QAAS,CACPC,SAAUjE,EAAE,qBACZkE,SAAU,CAAC7E,EAAU8E,OAAO,CAC5BxD,QAAAA,EACAyD,QAASd,CACX,EACAe,UAAW,CACTJ,SAAUjE,EAAE,8BACZoE,QAAShB,CACX,EACAkB,QAAS,EACX,EACAhB,SAAUA,YAEV,GAAAG,EAAAG,IAAA,EAACW,WAAAA,WACC,GAAAd,EAAAC,GAAA,EAACc,EAAAA,EAASA,CAAAA,CACRC,WAAY,CAAER,SAAUjE,EAAE,2BAA4B,WAEtD,GAAAyD,EAAAC,GAAA,EAACgB,EAAAA,EAAaA,CAAAA,CACZC,YAAa3E,EAAE,kCACd,GAAGT,EAAS,QAAS,CAAEqF,SAAU,EAAK,EAAE,KAI7C,GAAAnB,EAAAC,GAAA,EAACc,EAAAA,EAASA,CAAAA,CAACC,WAAY,CAAER,SAAUjE,EAAE,wBAAyB,WAC5D,GAAAyD,EAAAC,GAAA,EAACmB,EAAAA,EAAiBA,CAAAA,CAChBF,YAAa3E,EAAE,qCACd,GAAGT,EAAS,WAAY,CAAEqF,SAAU,EAAK,EAAE,QAKlD,GAAAnB,EAAAC,GAAA,EAACoB,EAAAA,CAAAA,CAAAA,GAAK,EAACnG,UAAU,iBACf,GAAA8E,EAAAC,GAAA,EAACqB,EAAAA,EAAQA,CAAAA,CAACX,QAASf,WAChBrD,EAAE,yCAMX,GAAAyD,EAAAC,GAAA,EAAC3E,EAAAA,EAAmBA,CAAAA,UAClB,GAAA0E,EAAAC,GAAA,EAACsB,EAAAA,EAAUA,CAAAA,CAAAA,SAKrB","sources":["webpack://_N_E/?3104","webpack://_N_E/./src/pages/common.styled.tsx","webpack://_N_E/./src/pages/login.styled.tsx","webpack://_N_E/./src/pages/login.page.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/login\",\n function () {\n return require(\"private-next-pages/login.page.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/login\"])\n });\n }\n ","import { NAVIGATION_WIDTH } from \"@/components/Navigation.styled\";\nimport { css, styled, th } from \"@xstyled/styled-components\";\n\nexport const Main = styled.main`\n display: flex;\n flex-direction: column;\n\n @media (min-width: laptop) {\n flex-direction: row;\n padding-left: ${NAVIGATION_WIDTH};\n }\n`;\n\nexport const Wrapper = styled.div`\n min-height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n @media (min-width: tablet) {\n justify-content: center;\n background-color: white-label-primary;\n padding-top: ${th.space(8)};\n }\n`;\n\nexport const containerVerticalPadding = 6;\n\nexport const Container = styled.div`\n background-color: white;\n padding: ${th.space(containerVerticalPadding)} ${th.space(4)};\n width: 100%;\n\n @media (min-width: tablet) {\n border-radius: md;\n padding-left: ${th.space(6)};\n padding-right: ${th.space(6)};\n max-width: ${th(\"containerSizes.sm\")};\n }\n`;\n\nexport const commonLogoContainerCSS = css`\n text-align: center;\n\n svg {\n display: inline-block;\n }\n`;\n\nexport const LogoContainer = styled.div`\n ${commonLogoContainerCSS}\n\n padding: ${th.space(6)} 0 ${th.space(5)};\n\n @media (min-width: tablet) {\n padding-top: ${th.space(2)};\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: ${th.space(5)} ${th.space(4)};\n\n @media (min-width: tablet) {\n padding: ${th.space(7)};\n }\n\n @media (min-width: laptop) {\n padding: ${th.space(13)} ${th.space(12)} ${th.space(11)};\n }\n`;\n\nexport const Title = styled.div<{ textAlign?: string }>`\n ${th(\"texts.lg\")}\n color: black;\n font-weight: regular;\n padding-bottom: ${th.space(5)};\n text-align: ${({ textAlign }) => (textAlign ? textAlign : \"center\")};\n`;\n\nexport const Subtitle = styled.div`\n ${th(\"texts.body\")}\n color: spanish-gray;\n padding-bottom: ${th.space(7)};\n text-align: center;\n`;\n\nexport const FooterTextContainer = styled.footer`\n ${th(\"texts.xs\")}\n color: spanish-gray;\n display: flex;\n justify-content: center;\n margin-top: auto;\n padding: ${th.space(4)} 0;\n\n @media (min-width: tablet) {\n color: white;\n margin-top: 0;\n }\n`;\n\nexport const FetchingDataContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n`;\n","import { styled, th } from \"@xstyled/styled-components\";\nimport { commonLogoContainerCSS } from \"./common.styled\";\n\nexport const LogoContainer = styled.div`\n ${commonLogoContainerCSS}\n\n padding: ${th.space(6)} 0 ${th.space(12)};\n\n @media (min-width: tablet) {\n padding: ${th.space(2)} 0 ${th.space(9)};\n }\n`;\n\nexport const Title = styled.h1`\n ${th(\"texts.xl\")}\n color: black;\n font-weight: regular;\n padding-bottom: ${th.space(5)};\n\n @media (min-width: tablet) {\n padding-bottom: ${th.space(7)};\n }\n`;\n","import { useRouter } from \"next/router\";\nimport { serverSideTranslations } from \"next-i18next/serverSideTranslations\";\nimport { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { routes } from \"@/common\";\nimport {\n FooterText,\n Form,\n FormField,\n FormInputPassword,\n FormInputText,\n Logo,\n TextLink,\n} from \"@/components/index\";\nimport {\n useAppForm,\n useAppTranslation,\n useGenericErrorNotification,\n useNotifications,\n useSaveClinic,\n} from \"@/hooks\";\nimport { useAppDispatch } from \"@/state\";\nimport { login as loginAction, selectLanguage, setLanguage } from \"@/state/app\";\nimport { setEmail, setMFAUser, setPassword } from \"@/state/user\";\nimport {\n LoginError,\n logout as userLogout,\n useLoginQuery,\n} from \"@salvehealth/app-common\";\nimport { x } from \"@xstyled/styled-components\";\nimport { Container, FooterTextContainer, Wrapper } from \"./common.styled\";\nimport { LogoContainer } from \"./login.styled\";\nimport i18nConfig from \"next-i18next.config\";\n\nexport async function getStaticProps({ locale }: { locale: string }) {\n return {\n props: {\n ...(await serverSideTranslations(\n locale,\n [\"common\"],\n null,\n i18nConfig.i18n.locales,\n )),\n },\n };\n}\n\nexport default function Login() {\n const { handleSubmit, formState, getValues, register } = useAppForm<{\n email: string;\n password: string;\n }>();\n const dispatch = useAppDispatch();\n const {\n i18n: { changeLanguage: switchLanguage, language: appLanguage },\n t,\n } = useAppTranslation();\n const { showGenericErrorNotification } = useGenericErrorNotification();\n const { show: showNotification } = useNotifications();\n const router = useRouter();\n const { saveTheme } = useSaveClinic();\n\n const [loading, setLoading] = useState(false);\n const storedLanguage = useSelector(selectLanguage);\n\n const updateAndSetLanguage = (lang: string) => {\n switchLanguage(lang);\n dispatch(setLanguage(lang));\n };\n\n const { data, error, login, success } = useLoginQuery({\n appLanguage,\n storedLanguage,\n switchLanguage: updateAndSetLanguage,\n updateTheme: saveTheme,\n userLogout,\n });\n\n useEffect(() => {\n if (!data || !success) {\n return;\n }\n\n switch (data.type) {\n case \"VerifySms\":\n const { password, ...values } = getValues();\n const email = values.email.toLocaleLowerCase();\n\n const {\n Session: session,\n challengeParam,\n client,\n pool,\n username,\n } = data.mfaUser;\n const { endpoint } = client;\n const { advancedSecurityDataCollectionFlag, clientId, userPoolId } =\n pool;\n\n dispatch(\n setMFAUser({\n advancedSecurityDataCollectionFlag,\n challengeParam,\n clientId,\n email,\n endpoint,\n password,\n session,\n userPoolId,\n username,\n }),\n );\n\n router.push(routes.verifyIdentityPhone);\n\n break;\n default:\n dispatch(loginAction());\n const { returnUrl = routes.dashboard } = router.query || {};\n router.push(returnUrl as string);\n }\n }, [data, dispatch, getValues, router, success]);\n\n useEffect(() => {\n if (error === LoginError.None) {\n return;\n }\n\n setLoading(false);\n\n switch (error) {\n case LoginError.AwaitingSync:\n router.push(routes.syncing);\n break;\n case LoginError.ForceUpdate:\n // TODO\n break;\n case LoginError.NotFound:\n showNotification({\n message: \"login__error_incorrect_details_message\",\n title: \"login__error_incorrect_details_title\",\n });\n break;\n case LoginError.RequiresEmailValidation:\n router.push(routes.verifyIdentityEmail);\n break;\n case LoginError.Unreachable:\n // TODO\n break;\n default:\n showGenericErrorNotification();\n break;\n }\n }, [error]);\n\n const createAccountOnClick = () => {\n router.push(routes.clinicCode);\n };\n const forgottenPasswordOnClick = () => {\n router.push(routes.resetPassword);\n };\n\n const onSubmit = handleSubmit(async (values) => {\n const { password } = values;\n const email = values.email.toLocaleLowerCase();\n\n setLoading(true);\n\n dispatch(setEmail(email));\n dispatch(setPassword(password));\n\n await login({\n password,\n username: email,\n });\n });\n\n return (\n
\n \n \n \n \n \n\n \n
\n \n \n \n\n \n \n \n
\n\n \n \n {t(\"login__link_forgot_password\")}\n \n \n \n
\n\n \n \n \n
\n
\n );\n}\n"],"names":["window","__NEXT_P","push","__webpack_require__","Main","styled","_templateObject","NAVIGATION_WIDTH","Wrapper","_templateObject1","th","containerVerticalPadding","Container","_templateObject2","commonLogoContainerCSS","css","LogoContainer","_templateObject4","Content","_templateObject5","Title","_templateObject6","textAlign","param","Subtitle","_templateObject7","FooterTextContainer","_templateObject8","FetchingDataContainer","_templateObject9","Login","handleSubmit","formState","getValues","register","useAppForm","dispatch","useAppDispatch","i18n","changeLanguage","switchLanguage","language","appLanguage","t","useAppTranslation","showGenericErrorNotification","useGenericErrorNotification","show","showNotification","useNotifications","router","useRouter","saveTheme","useSaveClinic","loading","setLoading","useState","storedLanguage","useSelector","selectLanguage","updateAndSetLanguage","lang","setLanguage","data","error","login","success","useLoginQuery","updateTheme","userLogout","useEffect","type","password","values","email","toLocaleLowerCase","Session","session","challengeParam","client","pool","username","mfaUser","endpoint","advancedSecurityDataCollectionFlag","clientId","userPoolId","setMFAUser","routes","loginAction","returnUrl","query","LoginError","message","title","createAccountOnClick","forgottenPasswordOnClick","onSubmit","setEmail","setPassword","jsx_runtime","jsx","main","jsxs","Logo","Form","buttons","primary","children","disabled","isValid","onClick","secondary","stacked","fieldset","FormField","labelProps","FormInputText","placeholder","required","FormInputPassword","x","TextLink","FooterText"],"sourceRoot":""}