feat: ✨ Show message on email confirmation
Tim Izzo tim@octree.ch
Fri, 07 Oct 2022 13:21:18 +0000
3 files changed,
15 insertions(+),
2 deletions(-)
M
frontend/locales/en.json
→
frontend/locales/en.json
@@ -221,6 +221,7 @@ "signin.email": "Email",
"signin.password": "Password", "signin.login": "$t(menu.login)", "signin.register": "$t(menu.register)", + "signin.emailConfirmation": "Your account has been confirmed. You can now login.", "signin.errors.CredentialsSignin": "Check your email and password", "signin.errors.EmailNotConfirmed": "Your account has not been confirmed. Please check your emails", "signin.errors.OAuthCallback": "Impossible to use Google authentication currently",
M
frontend/locales/fr.json
→
frontend/locales/fr.json
@@ -221,6 +221,7 @@ "signin.email": "Email",
"signin.password": "Mot de passe", "signin.login": "$t(menu.login)", "signin.register": "$t(menu.register)", + "signin.emailConfirmation": "Votre compte a bien été confirmé. Vous pouvez maintenant vous connecter.", "signin.errors.CredentialsSignin": "Vérifier votre email et mot de passe", "signin.errors.EmailNotConfirmed": "Votre compte n'a pas été confirmé. Merci de vérifier vos emails", "signin.errors.OAuthCallback": "Impossible d'utiliser la connexion avec un compte Google actuellement",
M
frontend/pages/auth/login.tsx
→
frontend/pages/auth/login.tsx
@@ -1,5 +1,4 @@
import CardMedia from '@material-ui/core/CardMedia'; -import Divider from '@material-ui/core/Divider'; import Card from '@material-ui/core/Card'; import {useTranslation} from 'react-i18next'; import Layout from '../../layouts/Centered';@@ -8,18 +7,29 @@ import SignInForm from '../../containers/SignInForm';
import LanguagesIcon from '../../containers/Languages/Icon'; import {getSession} from 'next-auth/react'; import pageUtils from '../../lib/pageUtils'; +import Typography from '@material-ui/core/Typography'; interface PageProps { error?: string; + emailConfirmation?: boolean; } const Login = (props: PageProps) => { + const {emailConfirmation} = props; const {t} = useTranslation(); return ( <Layout menuTitle={t('signin.title')} displayMenu={false}> <Card> <CardMedia component={Logo} /> + {emailConfirmation && ( + <Typography + style={{marginBottom: '3rem'}} + variant="body2" + align="center" + color="textSecondary" + >{t`signin.emailConfirmation`}</Typography> + )} <SignInForm error={props?.error} /> </Card> <LanguagesIcon />@@ -40,7 +50,8 @@ };
else return pageUtils.getServerSideProps(async ctx => { const error = ctx.query?.error || null; - return {props: {error}}; + const emailConfirmation = ctx.query?.confirmed === 'true'; + return {props: {error, emailConfirmation}}; })(context); };