|
@@ -1,63 +1,71 @@
|
|
|
|
|
+function showErrorMessage(message) {
|
|
|
|
|
+ const errorMessageElement = document.getElementById('registerErrorMessage');
|
|
|
|
|
+ if (errorMessageElement) {
|
|
|
|
|
+ errorMessageElement.textContent = message;
|
|
|
|
|
+ errorMessageElement.classList.remove('hidden');
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
function showRegisterModal() {
|
|
function showRegisterModal() {
|
|
|
- document.getElementById('registerModal').classList.remove('hidden');
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ document.getElementById('registerModal').classList.remove('hidden');
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function hideRegisterModal() {
|
|
|
|
|
+ document.getElementById('registerModal').classList.add('hidden');
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- function hideRegisterModal() {
|
|
|
|
|
- document.getElementById('registerModal').classList.add('hidden');
|
|
|
|
|
|
|
+// Formateo automático del RUT mientras se escribe
|
|
|
|
|
+document.getElementById('rutInput').addEventListener('input', function (e) {
|
|
|
|
|
+ let rut = e.target.value.replace(/[^0-9kK]/g, '');
|
|
|
|
|
+
|
|
|
|
|
+ if (rut.length > 1) {
|
|
|
|
|
+ let body = rut.slice(0, -1);
|
|
|
|
|
+ let dv = rut.slice(-1);
|
|
|
|
|
+
|
|
|
|
|
+ if (body.length > 0) {
|
|
|
|
|
+ // Agregar puntos cada 3 dígitos desde la derecha
|
|
|
|
|
+ body = body.replace(/\B(?=(\d{3})+(?!\d))/g, '.');
|
|
|
|
|
+ rut = body + '-' + dv;
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // Formateo automático del RUT mientras se escribe
|
|
|
|
|
- document.getElementById('rutInput').addEventListener('input', function(e) {
|
|
|
|
|
- let rut = e.target.value.replace(/[^0-9kK]/g, '');
|
|
|
|
|
-
|
|
|
|
|
- if (rut.length > 1) {
|
|
|
|
|
- let body = rut.slice(0, -1);
|
|
|
|
|
- let dv = rut.slice(-1);
|
|
|
|
|
-
|
|
|
|
|
- if (body.length > 0) {
|
|
|
|
|
- // Agregar puntos cada 3 dígitos desde la derecha
|
|
|
|
|
- body = body.replace(/\B(?=(\d{3})+(?!\d))/g, '.');
|
|
|
|
|
- rut = body + '-' + dv;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- e.target.value = rut;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ e.target.value = rut;
|
|
|
|
|
+});
|
|
|
|
|
|
|
|
- // Manejo del envío del formulario
|
|
|
|
|
- document.getElementById('registerForm').addEventListener('submit', function(e) {
|
|
|
|
|
- e.preventDefault();
|
|
|
|
|
- showGlobalLoader();
|
|
|
|
|
- const formData = new FormData(e.target);
|
|
|
|
|
- const data = {
|
|
|
|
|
- name: formData.get('name'),
|
|
|
|
|
- email: formData.get('email'),
|
|
|
|
|
- rut: formData.get('rut')
|
|
|
|
|
- };
|
|
|
|
|
- console.log('Datos del formulario:', data);
|
|
|
|
|
- fetch('/api/users/register', {
|
|
|
|
|
- method: 'POST',
|
|
|
|
|
- headers: {
|
|
|
|
|
- 'Content-Type': 'application/json'
|
|
|
|
|
- },
|
|
|
|
|
- body: JSON.stringify(data)
|
|
|
|
|
- })
|
|
|
|
|
- .then(response => {
|
|
|
|
|
- if (!response.ok) {
|
|
|
|
|
- return response.json().then(errorData => {
|
|
|
|
|
- throw new Error(errorData.message || 'Error al registrar el usuario.');
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- return response.json();
|
|
|
|
|
- })
|
|
|
|
|
- .then(data => {
|
|
|
|
|
- console.log('Registro exitoso:', data);
|
|
|
|
|
- alert('Registro exitoso! Revisa tu correo electrónico para el PIN.');
|
|
|
|
|
- hideRegisterModal();
|
|
|
|
|
- }).finally(() => {
|
|
|
|
|
- hideGlobalLoader();
|
|
|
|
|
- })
|
|
|
|
|
- });
|
|
|
|
|
|
|
+// Manejo del envío del formulario
|
|
|
|
|
+document.getElementById('registerForm').addEventListener('submit', function (e) {
|
|
|
|
|
+ e.preventDefault();
|
|
|
|
|
+ showGlobalLoader();
|
|
|
|
|
+ const formData = new FormData(e.target);
|
|
|
|
|
+ const data = {
|
|
|
|
|
+ name: formData.get('name'),
|
|
|
|
|
+ email: formData.get('email'),
|
|
|
|
|
+ rut: formData.get('rut')
|
|
|
|
|
+ };
|
|
|
|
|
+ console.log('Datos del formulario:', data);
|
|
|
|
|
+ fetch('/api/users/register', {
|
|
|
|
|
+ method: 'POST',
|
|
|
|
|
+ headers: {
|
|
|
|
|
+ 'Content-Type': 'application/json'
|
|
|
|
|
+ },
|
|
|
|
|
+ body: JSON.stringify(data)
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(response => {
|
|
|
|
|
+ if (!response.ok) {
|
|
|
|
|
+ return response.json().then(errorData => {
|
|
|
|
|
+ showErrorMessage(errorData.message || 'Error al registrar el usuario.');
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ return response.json();
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(data => {
|
|
|
|
|
+ console.log('Registro exitoso:', data);
|
|
|
|
|
+ document.querySelector('#successPage').classList.remove('hidden');
|
|
|
|
|
+ hideRegisterModal();
|
|
|
|
|
+ }).finally(() => {
|
|
|
|
|
+ hideGlobalLoader();
|
|
|
|
|
+ })
|
|
|
|
|
+});
|
|
|
|
|
|
|
|
function createGlobalLoader() {
|
|
function createGlobalLoader() {
|
|
|
if (document.getElementById('globalLoader')) return;
|
|
if (document.getElementById('globalLoader')) return;
|
|
@@ -85,7 +93,7 @@ function hideGlobalLoader() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-document.addEventListener('DOMContentLoaded', function() {
|
|
|
|
|
|
|
+document.addEventListener('DOMContentLoaded', function () {
|
|
|
createGlobalLoader();
|
|
createGlobalLoader();
|
|
|
hideGlobalLoader();
|
|
hideGlobalLoader();
|
|
|
showRegisterModal();
|
|
showRegisterModal();
|