automatically focus first input

This commit is contained in:
Oliver Bryan
2025-12-30 05:13:50 +00:00
parent f534bc6dec
commit 86a11e6cb5

View File

@@ -1,4 +1,5 @@
import { type ChangeEvent, useMemo, useState } from "react";
/** biome-ignore-all lint/correctness/useExhaustiveDependencies: <> */
import { type ChangeEvent, useEffect, useMemo, useState } from "react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
@@ -140,6 +141,17 @@ export default function LogInForm() {
});
};
const focusFirstInput = () => {
const firstInput = document.querySelector("input");
if (firstInput) {
(firstInput as HTMLInputElement).focus();
}
};
useEffect(() => {
focusFirstInput();
}, []);
const resetForm = () => {
setError("");
setSubmitAttempted(false);
@@ -147,6 +159,8 @@ export default function LogInForm() {
setNameTouched(false);
setUsernameTouched(false);
setPasswordTouched(false);
requestAnimationFrame(() => focusFirstInput());
};
const handleSubmit = (e: React.FormEvent) => {