diff options
author | Anton Tananaev <anton@traccar.org> | 2022-07-02 16:54:42 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2022-07-02 16:54:42 -0700 |
commit | 44fd230a4c0043a6e89a793bcf333072a01441a6 (patch) | |
tree | c4681bf322e2d4e5cf1c7258ada2b3c985468471 /modern/src/login | |
parent | 8f3b27e86ac9b9a94bdd5319501ecb7e056ec595 (diff) | |
download | trackermap-web-44fd230a4c0043a6e89a793bcf333072a01441a6.tar.gz trackermap-web-44fd230a4c0043a6e89a793bcf333072a01441a6.tar.bz2 trackermap-web-44fd230a4c0043a6e89a793bcf333072a01441a6.zip |
Option to hide login language (fix #654)
Diffstat (limited to 'modern/src/login')
-rw-r--r-- | modern/src/login/LoginLayout.js | 38 | ||||
-rw-r--r-- | modern/src/login/LoginPage.js | 25 |
2 files changed, 28 insertions, 35 deletions
diff --git a/modern/src/login/LoginLayout.js b/modern/src/login/LoginLayout.js index dff187c4..83a87500 100644 --- a/modern/src/login/LoginLayout.js +++ b/modern/src/login/LoginLayout.js @@ -40,12 +40,6 @@ const useStyles = makeStyles((theme) => ({ padding: theme.spacing(5), width: '100%', }, - attribution: { - position: 'fixed', - bottom: theme.spacing(1), - right: theme.spacing(1.5), - fontSize: 'x-small', - }, })); const LoginLayout = ({ children }) => { @@ -53,26 +47,20 @@ const LoginLayout = ({ children }) => { const theme = useTheme(); return ( - <> - <main className={classes.root}> - <div className={classes.sidebar}> - {!useMediaQuery(theme.breakpoints.down('lg')) && ( - <svg height="64" width="240"> - <use xlinkHref={`${logoSvg}#img`} /> - </svg> - )} - </div> - <Paper className={classes.paper}> - <form className={classes.form}> - {children} - </form> - </Paper> - </main> - <div className={classes.attribution}> - Powered by - <a href="https://www.traccar.org/">Traccar GPS Tracking System</a> + <main className={classes.root}> + <div className={classes.sidebar}> + {!useMediaQuery(theme.breakpoints.down('lg')) && ( + <svg height="64" width="240"> + <use xlinkHref={`${logoSvg}#img`} /> + </svg> + )} </div> - </> + <Paper className={classes.paper}> + <form className={classes.form}> + {children} + </form> + </Paper> + </main> ); }; diff --git a/modern/src/login/LoginPage.js b/modern/src/login/LoginPage.js index 88a25d9d..c108f739 100644 --- a/modern/src/login/LoginPage.js +++ b/modern/src/login/LoginPage.js @@ -40,7 +40,8 @@ const useStyles = makeStyles((theme) => ({ }, resetPassword: { cursor: 'pointer', - textAlign: 'right', + textAlign: 'center', + marginTop: theme.spacing(2), }, })); @@ -59,11 +60,12 @@ const LoginPage = () => { const [email, setEmail] = usePersistedState('loginEmail', ''); const [password, setPassword] = useState(''); - const registrationEnabled = useSelector((state) => state.session.server?.registration); - const emailEnabled = useSelector((state) => state.session.server?.emailEnabled); + const registrationEnabled = useSelector((state) => state.session.server.registration); + const languageEnabled = useSelector((state) => !state.session.server.attributes['ui.disableLoginLanguage']); + const emailEnabled = useSelector((state) => state.session.server.emailEnabled); const [announcementShown, setAnnouncementShown] = useState(false); - const announcement = useSelector((state) => state.session.server?.announcement); + const announcement = useSelector((state) => state.session.server.announcement); const handleSubmit = async (event) => { event.preventDefault(); @@ -158,18 +160,21 @@ const LoginPage = () => { > {t('loginRegister')} </Button> - <FormControl fullWidth> - <InputLabel>{t('loginLanguage')}</InputLabel> - <Select label={t('loginLanguage')} value={language} onChange={(e) => setLanguage(e.target.value)}> - {languageList.map((it) => <MenuItem key={it.code} value={it.code}>{it.name}</MenuItem>)} - </Select> - </FormControl> + {languageEnabled && ( + <FormControl fullWidth> + <InputLabel>{t('loginLanguage')}</InputLabel> + <Select label={t('loginLanguage')} value={language} onChange={(e) => setLanguage(e.target.value)}> + {languageList.map((it) => <MenuItem key={it.code} value={it.code}>{it.name}</MenuItem>)} + </Select> + </FormControl> + )} </div> {emailEnabled && ( <Link onClick={() => navigate('/reset-password')} className={classes.resetPassword} underline="none" + variant="caption" > {t('loginReset')} </Link> |