first commit

This commit is contained in:
leventegaal
2026-03-04 10:55:09 +01:00
commit 104a8de694
17 changed files with 4555 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import { useState } from 'react'
const VALID_USER = {
name: 'Teszt Elek',
email: 'tesztelek@teszt.hu',
}
function validate(name, email) {
const errors = {}
if (!name) errors.name = 'A név kötelező.'
if (!email) errors.email = 'Az email kötelező.'
else if (!/\S+@\S+\.\S+/.test(email)) errors.email = 'Érvénytelen email cím.'
return errors
}
export function useContactForm() {
const [name, setName] = useState('')
const [email, setEmail] = useState('')
const [errors, setErrors] = useState({})
const [loginError, setLoginError] = useState(null)
const [success, setSuccess] = useState(false)
function handleSubmit(e) {
e.preventDefault()
const newErrors = validate(name, email)
if (Object.keys(newErrors).length > 0) {
setErrors(newErrors)
setLoginError(null)
return
}
setErrors({})
if (
name.trim() === VALID_USER.name &&
email.trim().toLowerCase() === VALID_USER.email
) {
setLoginError(null)
setSuccess(true)
} else {
setLoginError('Hibás név vagy email cím. Próbáld újra.')
setSuccess(false)
}
}
return {
fields: { name, email },
errors,
loginError,
success,
handlers: { setName, setEmail },
handleSubmit,
}
}