diff --git a/app/request-reset-password/form.js b/app/request-reset-password/form.js new file mode 100644 index 0000000..07a4aa3 --- /dev/null +++ b/app/request-reset-password/form.js @@ -0,0 +1,107 @@ +/* eslint-disable camelcase */ +'use client' + +import Link from 'next/link' +import {useState} from 'react' +import Container from '@mui/material/Container' +import Typography from '@mui/material/Typography' +import Box from '@mui/material/Box' +import FormControl from '@mui/material/FormControl' +import InputLabel from '@mui/material/InputLabel' +import OutlinedInput from '@mui/material/OutlinedInput' +import Button from '@mui/material/Button' +import {passwordRequest} from '@directus/sdk' +import {directusClient} from '@/lib/directus.js' +import AuthAlert from '@/components/auth-form/auth-alert.js' + +const appUrl = process.env.NEXT_PUBLIC_URL + +export default function RequestResetPasswordForm() { + const [isOpen, setIsOpen] = useState(false) + const [email, setEmail] = useState('') + const [success, setSuccess] = useState('') + const [error, setError] = useState('') + + const reset_url = `${appUrl}/reset-password` + + const handleFormSubmit = async e => { + e.preventDefault() + + try { + await directusClient.request( + passwordRequest(email, reset_url) + ) + + setSuccess('Un courriel contenant un lien de réinitialisation du mot de passe a été envoyé à votre adresse électronique !') + setIsOpen(true) + } catch (error) { + console.log(error) + if (error) { + setError('Une erreur s’est produite, veuillez réessayer !') + setIsOpen(true) + } + } + } + + return ( + <> + {error && } + {success && } + + + + Réinitialiser votre mot de passe + + + Saisissez votre adresse e-mail enregistrée et un lien de réinitialisation du mot de passe vous sera envoyé. + + + E-mail + setEmail(e.target.value)} + /> + + + + + + + + + + + ) +} diff --git a/app/request-reset-password/page.js b/app/request-reset-password/page.js new file mode 100644 index 0000000..b6d4a05 --- /dev/null +++ b/app/request-reset-password/page.js @@ -0,0 +1,7 @@ +import RequestResetPasswordForm from './form.js' + +export default async function RequestResetPasswordPage() { + return ( + + ) +}