diff --git a/nuxt4/app/pages/cata/sesion.vue b/nuxt4/app/pages/cata/sesion.vue index 0b9b9dd..e0cb420 100644 --- a/nuxt4/app/pages/cata/sesion.vue +++ b/nuxt4/app/pages/cata/sesion.vue @@ -51,6 +51,13 @@ > + + + Exportar Sesión + + + Finalizar Sesión + @@ -164,14 +178,17 @@ - + - - Finalizar Sesión + @@ -252,6 +269,22 @@ const obtenerMuestraPorValue = (value: string): Muestra | null => { return sesionActiva.value.muestras.find(m => m.muestraId === muestraId) || null } +// Verificar si todos los acordiones están colapsados +const todosColapsados = computed(() => { + return accordionAbierto.value.length === 0 +}) + +// Colapsar o expandir todos los acordiones +const toggleCollapseAll = () => { + if (todosColapsados.value) { + // Expandir todos: agregar todos los values + accordionAbierto.value = accordionItems.value.map(item => item.value) + } else { + // Colapsar todos: vaciar el array + accordionAbierto.value = [] + } +} + // Inicializar al montar onMounted(async () => { await inicializar() @@ -385,6 +418,15 @@ onMounted(() => { gap: 0.25rem; } +/* Accordion hover usando color personalizado */ +:deep(.accordion-trigger:hover) { + background-color: color-mix(in srgb, var(--cata-primary) 5%, transparent); +} + +:deep(.dark .accordion-trigger:hover) { + background-color: color-mix(in srgb, var(--cata-primary) 10%, transparent); +} + /* Floating action button */ .floating-action { position: fixed;