diff options
Diffstat (limited to 'modern/src/components')
-rw-r--r-- | modern/src/components/registration/LoginForm.js | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/modern/src/components/registration/LoginForm.js b/modern/src/components/registration/LoginForm.js index c3081d90..2f6e266f 100644 --- a/modern/src/components/registration/LoginForm.js +++ b/modern/src/components/registration/LoginForm.js @@ -6,7 +6,7 @@ import { useTheme } from '@material-ui/core/styles'; import { useDispatch, useSelector } from 'react-redux'; import { useHistory } from 'react-router-dom'; import { sessionActions } from '../../store'; -import t, { useLocalization } from '../../LocalizationProvider'; +import { useLocalization, useTranslation } from '../../LocalizationProvider'; import StartPage from '../../StartPage'; const useStyles = makeStyles((theme) => ({ @@ -24,7 +24,10 @@ const LoginForm = () => { const dispatch = useDispatch(); const history = useHistory(); const theme = useTheme(); - const { language, languageList, setLanguage } = useLocalization(); + const t = useTranslation(); + + const { languages, language, setLanguage } = useLocalization(); + const languageList = Object.entries(languages).map((values) => ({ code: values[0], name: values[1].name })); const [failed, setFailed] = useState(false); const [email, setEmail] = useState(''); @@ -32,14 +35,6 @@ 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 handleEmailChange = (event) => { - setEmail(event.target.value); - }; - - const handlePasswordChange = (event) => { - setPassword(event.target.value); - }; - const handleLogin = async (event) => { event.preventDefault(); const response = await fetch('/api/session', { @@ -62,10 +57,6 @@ const LoginForm = () => { } }; - const handleLanguageChange = (e) => { - setLanguage(e.target.value); - }; - return ( <StartPage> <Grid container direction="column" spacing={2}> @@ -87,7 +78,7 @@ const LoginForm = () => { value={email} autoComplete="email" autoFocus - onChange={handleEmailChange} + onChange={(e) => setEmail(e.target.value)} onKeyUp={handleSpecialKey} helperText={failed && 'Invalid username or password'} variant="filled" @@ -103,7 +94,7 @@ const LoginForm = () => { value={password} type="password" autoComplete="current-password" - onChange={handlePasswordChange} + onChange={(e) => setPassword(e.target.value)} onKeyUp={handleSpecialKey} variant="filled" /> @@ -129,8 +120,8 @@ const LoginForm = () => { <Grid item xs> <FormControl variant="filled" fullWidth> <InputLabel>{t('loginLanguage')}</InputLabel> - <Select value={language} onChange={handleLanguageChange}> - {languageList.map((lang) => <MenuItem key={lang.code} value={lang.code}>{lang.name}</MenuItem>)} + <Select value={language} onChange={(e) => setLanguage(e.target.value)}> + {languageList.map((it) => <MenuItem key={it.code} value={it.code}>{it.name}</MenuItem>)} </Select> </FormControl> </Grid> |