Add persistent invoice template management
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,7 @@ export default function LoginPage() {
|
||||
const [showRegistration, setShowRegistration] = useState(false);
|
||||
const [email, setEmail] = useState("");
|
||||
const [password, setPassword] = useState("");
|
||||
const [loginInputsUnlocked, setLoginInputsUnlocked] = useState(false);
|
||||
const [showLoginValidation, setShowLoginValidation] = useState(false);
|
||||
const [showRegisterValidation, setShowRegisterValidation] = useState(false);
|
||||
const [registration, setRegistration] = useState({
|
||||
@@ -28,6 +29,10 @@ export default function LoginPage() {
|
||||
const [feedback, setFeedback] = useState<FeedbackState>(null);
|
||||
const { setSession } = useSession();
|
||||
|
||||
function unlockLoginInputs() {
|
||||
setLoginInputsUnlocked(true);
|
||||
}
|
||||
|
||||
async function handlePasswordLogin(event: FormEvent<HTMLFormElement>) {
|
||||
event.preventDefault();
|
||||
setShowLoginValidation(true);
|
||||
@@ -116,14 +121,23 @@ export default function LoginPage() {
|
||||
|
||||
<div className="auth-grid">
|
||||
{!showRegistration ? (
|
||||
<form className={`login-panel__section ${showLoginValidation ? "show-validation" : ""}`} onSubmit={handlePasswordLogin}>
|
||||
<form
|
||||
className={`login-panel__section ${showLoginValidation ? "show-validation" : ""}`}
|
||||
onSubmit={handlePasswordLogin}
|
||||
autoComplete="off"
|
||||
>
|
||||
<label className="field field--required">
|
||||
<span>E-Mail</span>
|
||||
<input
|
||||
type="email"
|
||||
name="login-email"
|
||||
value={email}
|
||||
onChange={(event) => setEmail(event.target.value)}
|
||||
onFocus={unlockLoginInputs}
|
||||
onPointerDown={unlockLoginInputs}
|
||||
placeholder="z. B. name@hof.de"
|
||||
autoComplete="off"
|
||||
readOnly={!loginInputsUnlocked}
|
||||
required
|
||||
/>
|
||||
</label>
|
||||
@@ -131,8 +145,13 @@ export default function LoginPage() {
|
||||
<span>Passwort</span>
|
||||
<input
|
||||
type="password"
|
||||
name="login-password"
|
||||
value={password}
|
||||
onChange={(event) => setPassword(event.target.value)}
|
||||
onFocus={unlockLoginInputs}
|
||||
onPointerDown={unlockLoginInputs}
|
||||
autoComplete="new-password"
|
||||
readOnly={!loginInputsUnlocked}
|
||||
required
|
||||
/>
|
||||
</label>
|
||||
|
||||
Reference in New Issue
Block a user