From 0cdae3d4f56934784d0dad96c2d82ccdc8363369 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Sat, 18 Oct 2025 16:33:24 -0600 Subject: [PATCH] Fix: Cambiar accordion de multiple a single con collapsible MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cambiar de type='multiple' a type='single' (solo un item abierto a la vez) - Todos los accordions pueden estar cerrados (collapsible: true por defecto) - Actualizar estado accordionAbierto de string[] a string | undefined - Actualizar lógica toggleCollapseAll para modo single - Agregar border-t al content del accordion para mejor separación visual - Actualizar títulos del botón flotante: 'Abrir primera muestra' / 'Cerrar muestra abierta' --- nuxt4/app/composables/useCatacion.ts | 6 +++--- nuxt4/app/pages/cata/sesion.vue | 17 ++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/nuxt4/app/composables/useCatacion.ts b/nuxt4/app/composables/useCatacion.ts index 7203415..4286f4b 100644 --- a/nuxt4/app/composables/useCatacion.ts +++ b/nuxt4/app/composables/useCatacion.ts @@ -53,7 +53,7 @@ export const useCatacion = () => { // Estado de la UI const tabActiva = useState('tab-activa', () => 'organoleptica') const subcategoriasPorTab = useState('subcategorias-por-tab', cargarSubcategoriasDesdeStorage) - const accordionAbierto = useState('accordion-abierto', () => []) + const accordionAbierto = useState('accordion-abierto', () => undefined) // Computed para obtener las subcategorías de la tab actual const subcategoriasActivas = computed(() => subcategoriasPorTab.value[tabActiva.value]) @@ -81,7 +81,7 @@ export const useCatacion = () => { await guardar(nuevaSesion) // Resetear estado de UI tabActiva.value = 'organoleptica' - accordionAbierto.value = [] + accordionAbierto.value = undefined return nuevaSesion } catch (err) { console.error('Error al crear nueva sesión:', err) @@ -308,7 +308,7 @@ export const useCatacion = () => { try { await eliminar() tabActiva.value = 'organoleptica' - accordionAbierto.value = [] + accordionAbierto.value = undefined } catch (err) { console.error('Error al eliminar sesión:', err) throw err diff --git a/nuxt4/app/pages/cata/sesion.vue b/nuxt4/app/pages/cata/sesion.vue index 06c1af0..fb96b16 100644 --- a/nuxt4/app/pages/cata/sesion.vue +++ b/nuxt4/app/pages/cata/sesion.vue @@ -158,12 +158,11 @@
@@ -196,7 +195,7 @@