aboutsummaryrefslogtreecommitdiff
path: root/modern/src/components/registration/LoginForm.js
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/components/registration/LoginForm.js')
-rw-r--r--modern/src/components/registration/LoginForm.js24
1 files changed, 19 insertions, 5 deletions
diff --git a/modern/src/components/registration/LoginForm.js b/modern/src/components/registration/LoginForm.js
index bbb5d5fb..d43d19a8 100644
--- a/modern/src/components/registration/LoginForm.js
+++ b/modern/src/components/registration/LoginForm.js
@@ -1,7 +1,8 @@
import React, { useState } from 'react';
import {
- Grid, useMediaQuery, makeStyles, InputLabel, Select, MenuItem, FormControl, Button, TextField, Link,
+ Grid, useMediaQuery, makeStyles, InputLabel, Select, MenuItem, FormControl, Button, TextField, Link, Snackbar, IconButton,
} from '@material-ui/core';
+import CloseIcon from '@material-ui/icons/Close';
import { useTheme } from '@material-ui/core/styles';
import { useDispatch, useSelector } from 'react-redux';
import { useHistory } from 'react-router-dom';
@@ -38,6 +39,9 @@ const LoginForm = () => {
const registrationEnabled = useSelector((state) => (state.session.server ? state.session.server.registration : false));
const emailEnabled = useSelector((state) => (state.session.server ? state.session.server.emailEnabled : false));
+ const [announcementShown, setAnnouncementShown] = useState(false);
+ const announcement = useSelector((state) => (state.session.server && state.session.server.announcement));
+
const handleSubmit = async (event) => {
event.preventDefault();
const response = await fetch('/api/session', {
@@ -131,12 +135,22 @@ const LoginForm = () => {
</Grid>
</Grid>
{emailEnabled && (
- <Grid item container justify="flex-end">
- <Grid item>
- <Link onClick={() => history.push('/reset-password')} className={classes.resetPassword} underline="none">{t('loginReset')}</Link>
+ <Grid item container justify="flex-end">
+ <Grid item>
+ <Link onClick={() => history.push('/reset-password')} className={classes.resetPassword} underline="none">{t('loginReset')}</Link>
+ </Grid>
</Grid>
- </Grid>
)}
+ <Snackbar
+ anchorOrigin={{ vertical: 'top', horizontal: 'center' }}
+ open={announcement && !announcementShown}
+ message={announcement}
+ action={
+ <IconButton size="small" color="inherit" onClick={() => setAnnouncementShown(true)}>
+ <CloseIcon fontSize="small" />
+ </IconButton>
+ }
+ />
</Grid>
</StartPage>
);