From b639aa24bbced8d8bbced85191dd51b768fd0ad0 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Sat, 18 Oct 2025 14:38:21 -0600 Subject: [PATCH] =?UTF-8?q?Feat:=20Agregar=20barra=20de=20subcategor=C3=AD?= =?UTF-8?q?as=20sticky=20debajo=20de=20tabs=20principales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nuxt4/app/composables/useCatacion.ts | 11 +++ nuxt4/app/pages/cata/sesion.vue | 104 ++++++++++++++++++++++++++- 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/nuxt4/app/composables/useCatacion.ts b/nuxt4/app/composables/useCatacion.ts index ab8b36b..eaba241 100644 --- a/nuxt4/app/composables/useCatacion.ts +++ b/nuxt4/app/composables/useCatacion.ts @@ -7,11 +7,21 @@ import { crearSesionVacia, calcularPuntajeFinal } from '~/types/catacion' export type TabCatacion = 'organoleptica' | 'descriptiva-afectiva' | 'defectos' | 'impresion-global' +// Subcategorías para Organoléptica +export type SubcategoriaOrganoleptica = 'fragancia-aroma' | 'sabor' | 'sensacion-boca' | 'gustos-predominantes' + +// Subcategorías para Descriptiva/Afectiva +export type SubcategoriaDescriptivaAfectiva = 'descriptiva' | 'afectiva' | 'fragancia' | 'aroma' | 'sabor' | 'sabor-residual' | 'acidez' | 'dulzor' | 'sensacion-boca' | 'impresion-global' + +// Tipo unión de todas las subcategorías +export type Subcategoria = SubcategoriaOrganoleptica | SubcategoriaDescriptivaAfectiva | null + export const useCatacion = () => { const { sesionActiva, cargando, error, guardar, actualizar, eliminar } = useIndexedDB() // Estado de la UI const tabActiva = useState('tab-activa', () => 'organoleptica') + const subcategoriaActiva = useState('subcategoria-activa', () => null) const accordionAbierto = useState('accordion-abierto', () => []) /** @@ -293,6 +303,7 @@ export const useCatacion = () => { // Estado de la UI tabActiva, + subcategoriaActiva, accordionAbierto, // Estadísticas diff --git a/nuxt4/app/pages/cata/sesion.vue b/nuxt4/app/pages/cata/sesion.vue index a993831..33b8f3a 100644 --- a/nuxt4/app/pages/cata/sesion.vue +++ b/nuxt4/app/pages/cata/sesion.vue @@ -125,6 +125,33 @@ + + +
+
+
+ + +
+
+
@@ -180,7 +207,7 @@