{"version":3,"sources":["webpack:///./ClientApp/components/Pages/Login/Login.tsx"],"names":["validationSchema","Yup","shape","login","emailValidator","password","simpleStringValidator","LoginInner","_applyDecoratedDescriptor","_class","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","key","value","this","props","user","redirect","prevProps","values","actions","React","Field","name","_ref","field","form","className","concat","errors","touched","_extends","type","id","placeholder","_ref2","message","history","replace","_this","isLoading","Loading","Helmet","Link","to","src","require","alt","Formik","initialValues","onSubmit","handleSubmit","Form","loginPasswordForm","Button","aria-hidden","style","marginRight","href","target","rel","serverMessageRender","prototype","member","Object","getOwnPropertyDescriptor","Login","connect","state","_objectSpread","dispatch","bindLoginActionCreators"],"mappings":"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","file":"chunks/LoginPage.chunk.e66bb8d0c09d19cdbc9c.js","sourcesContent":["import * as React from 'react';\r\nimport { Link, RouteComponentProps } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { Dispatch } from 'redux';\r\n\r\nimport * as Yup from 'yup';\r\nimport {\r\n\tFormik, Form, Field, FieldProps,\r\n} from 'formik';\r\n\r\nimport { member } from '@common/react/utils/decorators';\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport { Loading } from '@common/react/components/UI/Loading/Loading';\r\nimport { emailValidator, simpleStringValidator } from '@common/react/utils/validationHelpers';\r\n\r\nimport { ApplicationState } from '@app/store';\r\nimport {\r\n\tbindLoginActionCreators,\r\n\tKnownLoginActions,\r\n\tLoginActionCreators,\r\n\tLoginState,\r\n} from '@app/store/Login';\r\n\r\ninterface ReduxProps {\r\n\tlogin: LoginState;\r\n}\r\n\r\ninterface ReduxActions {\r\n\tactions: LoginActionCreators;\r\n}\r\n\r\ntype LoginProps = ReduxProps & ReduxActions & RouteComponentProps;\r\n\r\ninterface FormValues {\r\n\tlogin: string;\r\n\tpassword: string;\r\n}\r\n\r\nconst validationSchema = Yup.object().shape({\r\n\tlogin: emailValidator,\r\n\tpassword: simpleStringValidator,\r\n});\r\n\r\nclass LoginInner extends React.Component {\r\n\tpublic componentDidMount() {\r\n\t\tif (this.props.login.user) {\r\n\t\t\tthis.redirect();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic componentDidUpdate(prevProps: Readonly) {\r\n\t\tif (prevProps.login.user === null && this.props.login.user !== null) {\r\n\t\t\tthis.redirect();\r\n\t\t}\r\n\t}\r\n\r\n\t@member\r\n\tprotected handleSubmit(values: FormValues): void {\r\n\t\tthis.props.actions.login(values.login, values.password);\r\n\t}\r\n\r\n\tprivate loginPasswordForm(): React.ReactNode {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t{({ field, form }: FieldProps) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(form.touched.login && form.errors.login)\r\n\t\t\t\t\t\t\t\t?
{form.errors.login}
\r\n\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{({ field, form }: FieldProps) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{(form.touched.password && form.errors.password)\r\n\t\t\t\t\t\t\t\t\t?
{form.errors.password}
\r\n\t\t\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tprivate serverMessageRender(): React.ReactNode {\r\n\t\tif (this.props.login.message) {\r\n\t\t\treturn
{this.props.login.message}
;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\t@member\r\n\tprivate redirect(): void {\r\n\t\tthis.props.history.replace('/dashboard');\r\n\t}\r\n\r\n\tpublic render(): React.ReactNode {\r\n\t\tif (this.props.login.isLoading) return ;\r\n\r\n\t\t// This is here for ssr only\r\n\t\tif (this.props.login.user) {\r\n\t\t\tthis.redirect();\r\n\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tLogin\r\n\t\t\t\t\r\n\t\t\t\t\"Logo\"\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{() => (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{this.loginPasswordForm()}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tLogin\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tForgot password?\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tRegister\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tLearn more about Wingstracker Portal\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{this.serverMessageRender()}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport const Login = connect(\r\n\t(state: ApplicationState) => ({ login: { ...state.login } }),\r\n\t(dispatch: Dispatch) => ({\r\n\t\tactions: bindLoginActionCreators(dispatch),\r\n\t}),\r\n)(LoginInner);\r\n"],"sourceRoot":""}