add remember me checkbox

This commit is contained in:
john 2025-05-29 13:21:37 +02:00
parent 334435cf78
commit 3b4f384582
6 changed files with 43 additions and 9 deletions

View file

@ -17,6 +17,7 @@ export default function LoginPage({ authService }: LoginPageProps) {
const [isSubmitting, setIsSubmitting] = useState(false)
const [username, setUsername] = useState('')
const [password, setPassword] = useState('')
const [rememberMe, setRememberMe] = useState(false)
const [error, setError] = useState<string | null>(null)
const usernameInputRef = useRef<HTMLInputElement | null>(null)
const passwordInputRef = useRef<HTMLInputElement | null>(null)
@ -49,7 +50,7 @@ export default function LoginPage({ authService }: LoginPageProps) {
setIsSubmitting(true)
try {
await authService.login(username, password)
await authService.login(username, password, rememberMe)
} catch (error: unknown) {
setError(error instanceof Error ? error.message : 'something went terribly wrong')
} finally {
@ -95,6 +96,19 @@ export default function LoginPage({ authService }: LoginPageProps) {
/>
</div>
<div className="flex items-center gap-2 mt-2">
<input
type="checkbox"
id="rememberMe"
checked={rememberMe}
onChange={(e) => setRememberMe(e.target.checked)}
className="h-4 w-4"
/>
<label htmlFor="rememberMe" className="text-sm text-gray-600">
DONT log me out &gt;:(
</label>
</div>
<Button className="mt-4" disabled={isSubmitting} type="submit">
{isSubmitting ? 'wait...' : 'make login pls'}
</Button>