From 1eff0772ab77cfeebd885f689e43a16aec18756d Mon Sep 17 00:00:00 2001 From: josedario87 Date: Sun, 19 Oct 2025 04:14:40 -0600 Subject: [PATCH] =?UTF-8?q?Feat:=20Mejorar=20resumen=20de=20muestras=20con?= =?UTF-8?q?=20colores=20por=20categor=C3=ADa=20y=20secci=C3=B3n=20organol?= =?UTF-8?q?=C3=A9ptica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cambiar botón expandir a estilo texto (solo icono) - Agregar colores específicos por categoría a iconos de intensidades - Agregar sección de características organolépticas con notas - Agregar sección de notas adicionales - Cambiar badges de puntajes a solo outline (sin relleno) - Respetar preferencias de color del usuario en badges excepto SCAA - Corregir tipo de longPressTimer (ReturnType) --- nuxt4/app/components/cata/ResumenMuestra.vue | 24 +- .../cata/ResumenMuestraExpandido.vue | 206 +++++++++++++++++- nuxt4/app/pages/cata/sesion.vue | 24 +- 3 files changed, 218 insertions(+), 36 deletions(-) diff --git a/nuxt4/app/components/cata/ResumenMuestra.vue b/nuxt4/app/components/cata/ResumenMuestra.vue index cb6916c..cd474f5 100644 --- a/nuxt4/app/components/cata/ResumenMuestra.vue +++ b/nuxt4/app/components/cata/ResumenMuestra.vue @@ -229,38 +229,38 @@ const mostrarChipsDefectos = computed(() => { /* Sumatoria Afectiva - color neutro */ .puntaje-sumatoria { - background-color: color-mix(in srgb, var(--cata-primary) 15%, transparent); + background-color: transparent; border-color: color-mix(in srgb, var(--cata-primary) 40%, transparent); color: var(--cata-text); } /* SCAA Score - colores según valor */ .scaa-excelente { - background-color: color-mix(in srgb, #10b981 20%, transparent); + background-color: transparent; border-color: #10b981; color: #10b981; } .scaa-muy-bueno { - background-color: color-mix(in srgb, #3b82f6 20%, transparent); + background-color: transparent; border-color: #3b82f6; color: #3b82f6; } .scaa-bueno { - background-color: color-mix(in srgb, #f59e0b 20%, transparent); + background-color: transparent; border-color: #f59e0b; color: #f59e0b; } .scaa-regular { - background-color: color-mix(in srgb, #ef4444 20%, transparent); + background-color: transparent; border-color: #ef4444; color: #ef4444; } .scaa-bajo { - background-color: color-mix(in srgb, #6b7280 20%, transparent); + background-color: transparent; border-color: #6b7280; color: #6b7280; } @@ -322,27 +322,27 @@ const mostrarChipsDefectos = computed(() => { /* Modo oscuro */ .dark .puntaje-sumatoria { - background-color: color-mix(in srgb, var(--cata-primary) 20%, transparent); + background-color: transparent; } .dark .scaa-excelente { - background-color: color-mix(in srgb, #10b981 30%, transparent); + background-color: transparent; } .dark .scaa-muy-bueno { - background-color: color-mix(in srgb, #3b82f6 30%, transparent); + background-color: transparent; } .dark .scaa-bueno { - background-color: color-mix(in srgb, #f59e0b 30%, transparent); + background-color: transparent; } .dark .scaa-regular { - background-color: color-mix(in srgb, #ef4444 30%, transparent); + background-color: transparent; } .dark .scaa-bajo { - background-color: color-mix(in srgb, #6b7280 30%, transparent); + background-color: transparent; } .dark .chip { diff --git a/nuxt4/app/components/cata/ResumenMuestraExpandido.vue b/nuxt4/app/components/cata/ResumenMuestraExpandido.vue index 03e8b1c..cbdbba5 100644 --- a/nuxt4/app/components/cata/ResumenMuestraExpandido.vue +++ b/nuxt4/app/components/cata/ResumenMuestraExpandido.vue @@ -26,7 +26,7 @@

Valores Afectivos

- +
Fragancia
{{ muestra.intensidades.fragancia.afectiva }}
@@ -34,7 +34,7 @@
- +
Aroma
{{ muestra.intensidades.aroma.afectiva }}
@@ -42,7 +42,7 @@
- +
Sabor
{{ muestra.intensidades.sabor.afectiva }}
@@ -50,7 +50,7 @@
- +
Sabor Residual
{{ muestra.intensidades.saborResidual.afectiva }}
@@ -58,7 +58,7 @@
- +
Acidez
{{ muestra.intensidades.acidez.afectiva }}
@@ -66,7 +66,7 @@
- +
Dulzor
{{ muestra.intensidades.dulzor.afectiva }}
@@ -74,7 +74,7 @@
- +
Sensación en Boca
{{ muestra.intensidades.sensacionBoca.afectiva }}
@@ -82,7 +82,7 @@
- +
Impresión Global
{{ muestra.intensidades.impresionGlobal.afectiva }}
@@ -91,6 +91,74 @@
+ +
+

Características Organolépticas

+
+ +
+
+ + Fragancia/Aroma +
+
+
+ + {{ cat }} + +
+
+ {{ muestra.fraganciaAromaNotas.notaEspecifica }} +
+
+
+ + +
+
+ + Sabor +
+
+
+ + {{ cat }} + +
+
+ {{ muestra.saborNotas.notaEspecifica }} +
+
+
+ + +
+
+ + Gustos Predominantes +
+
+
+ + {{ gusto }} + +
+
+
+ + +
+
+ + Sensación en Boca +
+
+
{{ muestra.sensacionEnBoca }}
+
+
+
+
+

Penalizaciones

@@ -115,6 +183,14 @@
+ + +
+

Notas Adicionales

+
+

{{ muestra.otrasNotas }}

+
+
@@ -156,6 +232,29 @@ const getCategoryIcon = (category: string): string => { } return icons[category] || 'i-lucide-circle' } + +// Función para obtener el color de cada categoría +const getCategoryColor = (category: string): string => { + const colors: Record = { + fragancia: '#8B7AB8', + aroma: '#26A69A', + sabor: '#E53935', + saborResidual: '#F57C00', + acidez: '#FDD835', + dulzor: '#EC407A', + sensacionBoca: '#1E88E5', + impresionGlobal: '#00ACC1', + } + return colors[category] || 'var(--cata-primary)' +} + +// Verificar si hay datos organolépticos +const hasOrganolepticData = computed(() => { + return props.muestra.fraganciaAromaNotas.categorias.length > 0 || + props.muestra.saborNotas.categorias.length > 0 || + props.muestra.gustosPredominantes.length > 0 || + props.muestra.sensacionEnBoca +})