Initial commit - Lost and Found Revisi

This commit is contained in:
bambang-code1
2025-12-20 00:01:08 +07:00
commit f4c838471c
210 changed files with 30706 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
// assets/js/pages/auth/useRegisterHandlers.js
const useRegisterHandlers = (state) => {
const { setErrors, setLoading, setToast } = state;
const showToast = (message, type = "info") => {
setToast({ message, type });
};
const handleSubmit = async (e, formData) => {
e.preventDefault();
setErrors({});
let newErrors = {};
if (formData.name.length < 3) {
newErrors.name = "Nama minimal 3 karakter";
}
if (!Helpers.validateEmail(formData.email)) {
newErrors.email = "Email tidak valid";
}
if (formData.nrp.length < 10) {
newErrors.nrp = "NRP minimal 10 digit";
}
if (!Helpers.validatePhone(formData.phone)) {
newErrors.phone = "Nomor tidak valid";
}
if (formData.password.length < 8) {
newErrors.password = "Password minimal 8 karakter";
}
if (formData.password !== formData.confirmPassword) {
newErrors.confirmPassword = "Password tidak cocok";
}
if (Object.keys(newErrors).length > 0) {
setErrors(newErrors);
return;
}
setLoading(true);
try {
await ApiUtils.post(CONFIG.API_ENDPOINTS.REGISTER, {
name: formData.name,
email: formData.email,
nrp: formData.nrp,
phone: formData.phone,
password: formData.password,
});
showToast("Registrasi berhasil! Mengalihkan ke login...", "success");
setTimeout(() => {
window.location.href = "/login";
}, 2000);
} catch (error) {
showToast(error.message || "Registrasi gagal!", "error");
} finally {
setLoading(false);
}
};
return { handleSubmit };
};