From 454d98eb979976cea6c134e4df6847477660895c Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 17 Oct 2025 17:09:36 -0600 Subject: [PATCH] =?UTF-8?q?Feat:=20Agregar=20bot=C3=B3n=20de=20reiniciar?= =?UTF-8?q?=20formulario?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nuevo botón "Reiniciar" en el footer junto a Cancelar y Guardar - Solo aparece cuando hay cambios pendientes (v-if="hasChanges") - Color warning con variant soft para indicar acción destructiva - Ícono de arrow-path (flecha circular) - Función resetForm() que: - Pide confirmación al usuario - Restaura todos los campos a valores originales - Limpia la cookie de borrador - Muestra toast informativo - Ubicado entre botones Cancelar y Guardar cambios El botón permite descartar todos los cambios y volver al estado original sin tener que recargar la página. --- nuxt4/app/components/UserProfileForm.vue | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/nuxt4/app/components/UserProfileForm.vue b/nuxt4/app/components/UserProfileForm.vue index 7f8e918..669b9ad 100644 --- a/nuxt4/app/components/UserProfileForm.vue +++ b/nuxt4/app/components/UserProfileForm.vue @@ -267,6 +267,19 @@ > Cancelar + + + + Reiniciar + + { } } +// Reiniciar formulario a valores originales +const resetForm = () => { + if (!confirm('¿Estás seguro de descartar todos los cambios?\n\nSe restaurarán los valores originales y se eliminará el borrador guardado.')) { + return + } + + // Restaurar valores originales + formData.value = { + name: originalData.value.name, + email: originalData.value.email, + avatar: originalData.value.avatar, + phone: originalData.value.phone, + cedula: originalData.value.cedula, + birthdate: originalData.value.birthdate, + nfc: originalData.value.nfc, + pin: originalData.value.pin, + nucleoCode: originalData.value.nucleoCode + } + + // Limpiar cookie de borrador + formCookie.value = {} + + toast.add({ + title: 'Formulario reiniciado', + description: 'Se restauraron los valores originales y se eliminó el borrador', + color: 'info', + icon: 'i-heroicons-arrow-path' + }) +} + // Eliminar avatar personalizado const removeAvatar = async () => { if (!confirm('¿Estás seguro de que quieres eliminar tu foto de perfil?')) {