admin/login: auto-focus empty field
Massimo Melina committed
Mar 29, 2023 at 16:44 UTC
f8e43c656faf79f159907cc3a92abcf698ee5df5
1 file changed
+5
-1
admin/src/LoginRequired.ts
+5
-1
@@ -1,7 +1,7 @@
1
// This file is part of HFS - Copyright 2021-2023, Massimo Melina <a@rejetto.com> - License https://www.gnu.org/licenses/gpl-3.0.txt
2
3
import { state, useSnapState } from './state'
4
-import { createElement as h, Fragment, useState } from 'react'
4
+import { createElement as h, Fragment, useEffect, useRef, useState } from 'react'
5
import { Center } from './misc'
6
import { Form } from '@hfs/mui-grid-form'
7
import { apiCall } from './api'
@@ -23,8 +23,12 @@ export function LoginRequired({ children }: any) {
23
function LoginForm() {
24
const [values, setValues] = useState({ username: '', password: '' })
25
const [error, setError] = useState('')
26
+ const formRef = useRef<HTMLFormElement>()
27
+ const empty = formRef.current?.querySelector('input[value=""]')
28
+ useEffect(() => (empty as any)?.focus?.(), [empty])
29
return h(Center, {},
30
h(Form, {
31
+ formRef,
32
values,
33
set(v, k) {
34
setValues({ ...values, [k]: v })