mirror of
https://github.com/Paris-est-Ludique/intranet.git
synced 2025-09-11 22:06:29 +02:00
Add password reset
This commit is contained in:
34
src/pages/Forgot/ForgotPage.tsx
Normal file
34
src/pages/Forgot/ForgotPage.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
import { RouteComponentProps } from "react-router-dom"
|
||||
import { useDispatch, useSelector, shallowEqual } from "react-redux"
|
||||
import React, { memo } from "react"
|
||||
import { Helmet } from "react-helmet"
|
||||
|
||||
import { AppState } from "../../store"
|
||||
import ForgotForm from "../../components/ForgotForm/ForgotForm"
|
||||
import styles from "./styles.module.scss"
|
||||
|
||||
export type Props = RouteComponentProps
|
||||
|
||||
const ForgotPage: React.FC<Props> = (): JSX.Element => {
|
||||
const dispatch = useDispatch()
|
||||
const forgotError = useSelector((state: AppState) => state.volunteerForgot.error, shallowEqual)
|
||||
const forgotMessage = useSelector(
|
||||
(state: AppState) => state.volunteerForgot.entity?.message,
|
||||
shallowEqual
|
||||
)
|
||||
|
||||
return (
|
||||
<div className={styles.forgotPage}>
|
||||
<div className={styles.forgotContent}>
|
||||
<Helmet title="ForgotPage" />
|
||||
<ForgotForm
|
||||
dispatch={dispatch}
|
||||
error={forgotError || ""}
|
||||
message={forgotMessage || ""}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default memo(ForgotPage)
|
14
src/pages/Forgot/index.tsx
Executable file
14
src/pages/Forgot/index.tsx
Executable file
@@ -0,0 +1,14 @@
|
||||
import loadable from "@loadable/component"
|
||||
|
||||
import { Loading, ErrorBoundary } from "../../components"
|
||||
import { Props } from "./ForgotPage"
|
||||
|
||||
const ForgotPage = loadable(() => import("./ForgotPage"), {
|
||||
fallback: <Loading />,
|
||||
})
|
||||
|
||||
export default (props: Props): JSX.Element => (
|
||||
<ErrorBoundary>
|
||||
<ForgotPage {...props} />
|
||||
</ErrorBoundary>
|
||||
)
|
9
src/pages/Forgot/styles.module.scss
Executable file
9
src/pages/Forgot/styles.module.scss
Executable file
@@ -0,0 +1,9 @@
|
||||
@import "../../theme/mixins";
|
||||
|
||||
.forgotPage {
|
||||
@include page-wrapper-center;
|
||||
}
|
||||
|
||||
.forgotContent {
|
||||
@include page-content-wrapper;
|
||||
}
|
@@ -9,18 +9,18 @@ import styles from "./styles.module.scss"
|
||||
|
||||
export type Props = RouteComponentProps
|
||||
|
||||
const RegisterPage: React.FC<Props> = (): JSX.Element => {
|
||||
const LoginPage: React.FC<Props> = (): JSX.Element => {
|
||||
const dispatch = useDispatch()
|
||||
const loginError = useSelector((state: AppState) => state.volunteerLogin.error, shallowEqual)
|
||||
|
||||
return (
|
||||
<div className={styles.loginPage}>
|
||||
<div className={styles.loginContent}>
|
||||
<Helmet title="RegisterPage" />
|
||||
<Helmet title="LoginPage" />
|
||||
<LoginForm dispatch={dispatch} error={loginError || ""} />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default memo(RegisterPage)
|
||||
export default memo(LoginPage)
|
||||
|
Reference in New Issue
Block a user