Commit Graph

57 Commits

Author SHA1 Message Date
d64083e831 Feat: Compactar checkboxes de SelectorFamilia y optimizar layout
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Hacer TODOS los checkboxes mucho más compactos:
  * Categorías: min-height 36px → 32px móvil, padding reducido
  * Subcategorías: min-height 32px → 28px móvil, padding reducido
  * Iconos: 1.25rem → 1rem → 0.875rem móvil
  * Texto: 0.875rem → 0.75rem → 0.6875rem móvil
  * Gaps y espaciados reducidos en toda la UI

- Cambiar layout de categorías (padres):
  * Móvil (<= 640px): flex wrap (como subcategorías)
  * Desktop (>= 768px): grid 3 columnas
  * Permite mejor uso del espacio horizontal

- Mantener subcategorías con flex wrap (ya estaba así)
- Ajustar touch-friendly para mantener usabilidad táctil
2025-10-18 16:39:33 -06:00
0cdae3d4f5 Fix: Cambiar accordion de multiple a single con collapsible
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- 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'
2025-10-18 16:33:24 -06:00
c2ba2a561b Feat: Mejorar diseño de accordions y eliminar headers redundantes
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Alinear puntaje final a la derecha en ResumenMuestra (ml-auto)
- Cambiar estilo de accordion: underline simple sin gap entre items
- Ajustar ancho 100% en móviles sin padding lateral (px-0 sm:px-4)
- Eliminar headers redundantes en tabs específicas:
  * Organoléptica: eliminar 'Características Organolépticas'
  * Descriptiva/Afectiva: eliminar 'Intensidades Descriptivas y Afectivas'
  * Defectos: eliminar 'Defectos y Uniformidad'
- Mantener headers en tab Impresión Global para mejor navegación
2025-10-18 16:23:49 -06:00
b1aa431549 Feat: Agregar iconos a categorías de intensidad y simplificar chips de resumen
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Agregar función getCategoryIcon() en FormularioMuestra y ResumenMuestra
- Iconos Lucide para cada categoría:
  * fragancia: flower-2, aroma: wind, sabor: candy
  * saborResidual: timer, acidez: citrus, dulzor: cookie
  * sensacionBoca: droplets, impresionGlobal: star
- Actualizar todos los títulos de sección con iconos
- Modificar chips de ResumenMuestra para mostrar solo icono + valor descriptivo
- Eliminar valores afectivos y emojis de chips
- Agregar estilos CSS para .chip-icon
2025-10-18 16:14:11 -06:00
3eb9e987c7 Feat: Filtrar chips de ResumenMuestra según tab activa
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Agregar prop tabActiva a ResumenMuestra.vue
- Implementar computed properties para filtrado:
  * mostrarChipsOrganolepticos (organoleptica + impresion-global)
  * mostrarChipsIntensidades (descriptiva-afectiva + impresion-global)
  * mostrarChipsDefectos (defectos + impresion-global)
- Envolver grupos de chips con template v-if según filtrado
- Pasar prop :tab-activa desde sesion.vue a ResumenMuestra
- En impresion-global se muestran TODOS los chips
- En otras tabs solo chips pertinentes a esa categoría
2025-10-18 16:06:35 -06:00
70051d985c Feat: Hacer chips ultra-compactos en ResumenMuestra
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Reducir font-size de chips de 0.75rem a 0.625rem (0.5625rem en mobile)
- Reducir padding de chips de 0.25/0.5rem a 0.15/0.35rem
- Reducir gaps: entre chips de 1rem a 0.5rem, en línea de 2rem a 1.5rem
- Reducir tamaño de puntaje final y nombre de muestra
- Abreviar todas las etiquetas de chips:
  * F/A (Fragancia/Aroma), Sab (Sabor), Gus (Gustos), Sen (Sensación)
  * Fra, Aro, Sb, S.R (Sabor Residual), Aci, Dul, Sn, Imp
  * NoUnif (No Uniformes), Defec (Defectuosas)
- Eliminar espacios en arrays join (coma sin espacio)
- Optimizar responsive para mobile aún más compacto
2025-10-18 16:00:43 -06:00
e786379764 Fix: Corregir nombres de propiedades de intensidades en ResumenMuestra
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Cambiar 'cuerpo' por 'sensacionBoca' (propiedad correcta del tipo)
- Cambiar 'balance' por 'impresionGlobal' (propiedad correcta del tipo)
- Las propiedades ahora coinciden con la interfaz Intensidades definida en catacion.ts
2025-10-18 15:54:25 -06:00
6851a9674a Feat: Agregar chips informativos completos a ResumenMuestra
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Agregar puntaje final con badge color-coded según rangos
- Agregar chips para categorías organolépticas (fragancia/aroma, sabor, gustos, sensación)
- Agregar chips para todos los valores de intensidad (afectiva ❤️ y descriptiva 📊)
- Agregar chips condicionales para tazas no uniformes (warning)
- Agregar chips condicionales para tazas defectuosas con tipo de defecto (error)
- Layout de dos líneas: header con #/nombre/puntaje y chips informativos
- Diseño compacto y responsive
2025-10-18 15:51:13 -06:00
c624bbefa9 Refactor: Eliminar tooltips e indicadores numéricos del SelectorIntensidad
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
Limpia la UI del selector de intensidad para una experiencia más minimalista:
- Eliminado atributo title que mostraba tooltips con el valor
- Eliminada sección completa de indicadores numéricos (min/valor/max)
- El componente ahora solo muestra los iconos interactivos
- Mantiene toda la funcionalidad (selección, hover, deselección)

La interfaz es ahora más limpia y el usuario puede confiar en el feedback visual de los iconos activos para conocer el valor seleccionado.
2025-10-18 15:09:15 -06:00
417b430863 Feat: Reemplazar sliders por selector de intensidad con iconos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
Crea nuevo componente SelectorIntensidad que reemplaza los sliders tradicionales por un selector tipo "rating" con iconos clicables:

Características del nuevo componente:
- Usa círculos (circle/circle-dot) para intensidad descriptiva
- Usa corazones (heart) para intensidad afectiva
- Los iconos se llenan hasta el valor seleccionado
- Efecto hover para preview
- Mismo rango: descriptiva (1-10), afectiva (1-15)
- Click en mismo valor lo deselecciona (vuelve a null)
- Soporte para colores personalizados
- Efectos de glow en modo oscuro
- Responsive (iconos más pequeños en móvil)

Cambios técnicos:
- Nuevo archivo: app/components/cata/SelectorIntensidad.vue
- Modificado: app/components/cata/FormularioMuestra.vue
  - Reemplazado CataSliderIntensidad por CataSelectorIntensidad (global)
- Mantiene la misma interfaz de props y eventos que SliderIntensidad
2025-10-18 15:03:52 -06:00
45d4b1d663 Feat: Agregar persistencia de subcategorías seleccionadas por tab
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
Implementa la funcionalidad para que las subcategorías seleccionadas persistan:
- Entre cambios de tabs (cada tab mantiene sus propias subcategorías)
- Entre refrescos de página (guardado en localStorage)

Cambios técnicos:
- Modificado useCatacion.ts para guardar subcategorías por tab en lugar de array global
- Agregada función actualizarSubcategorias() que persiste en localStorage
- subcategoriasActivas ahora es computed basado en la tab activa
- Removida limpieza de subcategorías al cambiar de tab en sesion.vue
- Actualizado toggleSubcategoria para usar la nueva función de persistencia
2025-10-18 14:56:09 -06:00
c27da68682 Feat: Mover Sensación en Boca y Gustos Predominantes a tab Organoléptica
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
- Mover sección Sensaciones en Boca de Impresión Global a Organoléptica
- Mover sección Gustos Predominantes de Impresión Global a Organoléptica
- Agregar v-if mostrarSensacionBocaOrganoleptica para filtrado por subcategoría
- Agregar v-if mostrarGustosPredominantes para filtrado por subcategoría
- Renombrar Detalles Adicionales a Notas Adicionales en Impresión Global
2025-10-18 14:50:33 -06:00
8cf62f0057 Feat: Implementar selección múltiple y filtrado de subcategorías
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Cambiar subcategoriaActiva a subcategoriasActivas (array) para permitir selección múltiple
- Agregar flex-wrap a barra de subcategorías en lugar de scroll horizontal
- Implementar toggleSubcategoria para agregar/quitar subcategorías
- Pasar subcategoriasActivas a FormularioMuestra como prop
- Agregar helpers deberMostrarSeccion para filtrar inputs
- Aplicar v-if a todas las secciones según subcategorías activas
- Botón Limpiar Todo para resetear filtros
2025-10-18 14:47:38 -06:00
b639aa24bb Feat: Agregar barra de subcategorías sticky debajo de tabs principales
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
2025-10-18 14:38:21 -06:00
2737a9c39b Feat: Hacer accordions más compactos - reducir padding y gaps
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
2025-10-18 14:26:12 -06:00
af6664c931 Refactor: Eliminar métricas y estadísticas del UI de catación para simplificar interfaz
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
2025-10-18 14:16:55 -06:00
75f56c4ba9 Feat: Agregar colores representativos a iconos de categorías de familia
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
2025-10-18 14:09:55 -06:00
62138b97b4 Feat: Agregar iconos representativos a categorías de familia y eliminar cuadro de selección actual
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m9s
2025-10-18 14:04:51 -06:00
261d38d7dc Feat: Agregar logo de la app junto al título RioCata en todas las páginas
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
2025-10-18 04:00:39 -06:00
2509f77aa6 Fix: Eliminar estado de carga durante actualizaciones para evitar desmontaje de UI
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m9s
- No activar cargando.value durante actualizar() en useIndexedDB
- Evitar que el loading spinner desmonte todo el formulario al guardar
- Mantener UI fluida durante actualizaciones en tiempo real
2025-10-18 03:52:26 -06:00
ac98bfbc51 Fix: Usar toRaw() para convertir Proxies de Vue antes de guardar en IndexedDB
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Usar toRaw() + JSON.parse/stringify para deep clone sin Proxies
- No modificar modificadoEn en objeto reactivo, solo en copia
- Evitar re-renderizados innecesarios manteniendo referencias estables
2025-10-18 03:48:43 -06:00
0656f15366 Feat: Mejorar diseño del botón flotante de colapsar/expandir
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Reducir padding del botón de p-3 a p-2 (más compacto)
- Reducir tamaño del icono de w-6 h-6 a w-5 h-5
- Agregar flex items-center justify-center para centrar el icono
- Eliminar shadow con glow de color
- Usar fondo sólido con var(--cata-bg) en lugar de transparente
- Aplicar sombra simple con rgba (sin color del tema)
- Eliminar ajustes responsive de padding innecesarios
- Mejorar z-index para que se sobreponga correctamente a elementos
2025-10-18 03:43:15 -06:00
35a7898312 Fix: Clonar sesión al guardar en IndexedDB para eliminar proxies de Vue
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Agregar clonación en saveSession() y updateSession()
- Mantener mutaciones directas en el estado reactivo
- Resolver error DataCloneError al guardar objetos reactivos en IndexedDB
2025-10-18 03:41:23 -06:00
f17ff66613 Fix: Eliminar re-renderizados usando mutaciones directas en lugar de clonaciones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Modificar useIndexedDB para no reemplazar sesionActiva en actualizar()
- Modificar useCatacion para mutar directamente las propiedades
- Eliminar todas las clonaciones con JSON.parse/stringify
- Mantener referencias de objetos estables para Vue reactivity
2025-10-18 03:36:13 -06:00
9daafc2a3e Feat: Reorganizar controles de sesión y mejorar UX
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Mover botón Finalizar Sesión del flotante al header
- Cambiar botón flotante para colapsar/expandir todos los acordiones
- Agregar opción Finalizar Sesión al menú desplegable móvil
- Implementar función toggleCollapseAll para control de acordiones
- Agregar computed todosColapsados para estado de acordiones
- Usar iconos maximize-2/minimize-2 según estado
- Hacer botón flotante circular para mejor identificación

- Arreglar hover de acordiones para usar color personalizado
- Agregar estilos :deep() para .accordion-trigger:hover
- Usar color-mix con var(--cata-primary) en hover
- Aplicar 5% opacidad en modo claro, 10% en modo oscuro
2025-10-18 03:33:09 -06:00
8ad0b0b131 Fix: Eliminar re-renderizados innecesarios en accordiones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Remover JSON.parse(JSON.stringify()) de accordionItems computed
- Remover clonación innecesaria en obtenerMuestraPorValue
- Pasar referencias directas en lugar de copias profundas
- Los accordiones ahora mantienen su estado sin parpadeos
- Mejora significativa en la fluidez de la interfaz

El problema era que al clonar las muestras en cada render, Vue detectaba
objetos "nuevos" y re-montaba completamente los componentes accordion,
causando un efecto visual de parpadeo cada vez que se actualizaba un valor.
2025-10-18 03:30:40 -06:00
ab47142966 Fix: Validar estructura de datos de colores personalizados
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Agregar validación completa en loadCustomColors para detectar formato incompatible
- Proteger setCustomColors asegurando que la estructura existe antes de asignar
- Validar estructura en getCurrentColors y retornar defaults si no existe
- Validar estructura en hasCustomColors y retornar false si no existe
- Validar estructura en inicializar antes de aplicar colores
- Limpiar localStorage automáticamente si detecta formato antiguo o corrupto

Soluciona error: TypeError Cannot create property 'primary' on string
cuando localStorage contiene datos de versión anterior
2025-10-18 03:25:28 -06:00
6712439846 Feat: Extender personalización de colores a fuente y fondo
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
- Modificar useColorCustomization para manejar tres colores (primary, foreground, background)
- Actualizar interfaz ThemeColors con los tres colores
- Agregar selectores de color para fuente y fondo en el modal
- Implementar vista previa con los tres colores aplicados
- Actualizar funciones setCustomColors y resetColors para manejar múltiples colores
- Mantener almacenamiento separado por tema (light/dark)
- Aplicar colores a variables --cata-fg y --cata-bg además de --cata-primary
2025-10-18 03:18:52 -06:00
9ffba43ab4 Feat: Implementar paleta de colores por categoría en sliders
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m6s
- Agregar composable useCategoryColors con 8 colores coordinados (light/dark)
- Colores por categoría: Fragancia (lavanda), Aroma (verde menta), Sabor (rojo),
  Sabor Residual (naranja), Acidez (amarillo), Dulzor (rosa), Sensación en Boca (azul),
  Impresión Global (turquesa)
- Eliminar hints de texto de SliderIntensidad (showDescription = false por defecto)
- Aplicar colores dinámicos a headers y sliders de cada categoría
- Aumentar font-weight de headers a 700 (bold)
- Los colores se adaptan automáticamente al tema light/dark
2025-10-18 03:16:30 -06:00
d0c2b2f4c4 Fix: Corregir aplicación de colores personalizados
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Aplicar colores en formato HEX (no HSL sin prefijo)
- Solo modificar variables existentes (--cata-primary, --cata-primary-light, --cata-primary-dark)
- Eliminar sobrescritura de variables inexistentes (--cata-border, --cata-muted)
- Solo aplicar colores si hay personalización guardada (no sobrescribir por defecto)
- Limpiar variables CSS al resetear en lugar de aplicar colores por defecto
- Agregar función hslToHex para conversión correcta de colores
- Restaurar funcionamiento de bordes y efectos hover
2025-10-18 03:12:05 -06:00
bb7e095f55 Fix: Corregir estructura del Modal según Nuxt UI 4
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Mover trigger button al slot default de UModal
- Usar props title y description directamente en UModal
- Usar slots #body y #footer para el contenido del modal
- Mantener v-model:open para control de estado
- Eliminar wrapper div duplicado
- Seguir estructura correcta de Nuxt UI v4
2025-10-18 03:06:46 -06:00
b4cad99419 Feat: Implementar personalización de color principal del tema
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s
- Crear composable useColorCustomization para manejar colores personalizados
- Agregar botón de paleta en CataUserInfo para acceder al color picker
- Implementar modal con selector de color (input color + text)
- Guardar preferencias en localStorage por tema (light/dark)
- Generar paleta de gradientes automáticamente desde color base
- Aplicar colores dinámicamente a variables CSS
- Incluir vista previa del color en el modal
- Botón para restablecer al color por defecto
- Persistencia de colores entre sesiones
- Inicialización automática en app.vue
2025-10-18 03:02:30 -06:00
e69780c321 Fix: Agregar migración de datos para sesiones antiguas
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
- Agregar función migrateSesion() que convierte el formato antiguo al nuevo
- Formato antiguo: { categoria: string, subcategoria: string }
- Formato nuevo: { categorias: string[], subcategorias: string[] }
- Migración automática al cargar sesiones desde IndexedDB
- Maneja casos donde categorias/subcategorias son null o undefined
2025-10-18 03:00:00 -06:00
48e0d2f7dc Feat: Reorganizar tabs y permitir selección múltiple de categorías en notas
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m1s
- **Nuevas tabs reorganizadas:**
  - Organoléptica: Selectores de familia de fragancia-aroma y sabor
  - Descriptiva/Afectiva: Todos los sliders de intensidad (incluye impresión global)
  - Defectos: Tazas no uniformes, defectuosas y tipo de defecto
  - Impresión Global: Vista completa con todos los componentes

- **Selector de categorías mejorado:**
  - Permitir selección múltiple de categorías padre
  - Las subcategorías son la unión de las subcategorías de los padres seleccionados
  - Permitir selección múltiple de subcategorías
  - Actualizar resumen visual de selección

- **Tipos actualizados:**
  - NotaSeleccionada ahora usa arrays para categorias y subcategorias
  - TabCatacion actualizado con las nuevas tabs
  - Funciones de actualización modificadas para trabajar con arrays

- **Correcciones TypeScript:**
  - Usar JSON.parse(JSON.stringify()) para crear copias mutables de arrays readonly
  - Resolver incompatibilidades de tipos entre readonly y mutable arrays
2025-10-18 02:57:14 -06:00
1c4f09d9bd Fix: Igualar tamaño del botón de descarga con los demás botones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m1s
- Agregar clases flex items-center justify-center al botón de descarga
- Cambiar hidden sm:block por hidden sm:flex (coherente con flex)
- Ahora el botón tiene el mismo tamaño que los demás
- Archivo: app/pages/cata/sesion.vue:48
2025-10-18 02:48:00 -06:00
4fdd66f5ab Fix: Centrar icono de flecha en botón de regresar
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m2s
- Agregar clases flex items-center justify-center al botón de regresar
- El icono i-lucide-arrow-left ahora está perfectamente centrado
- Archivo: app/pages/cata/sesion.vue:32
2025-10-18 02:43:07 -06:00
0a4623acfb Fix: Remover clase cata-page del header sticky para evitar min-height no deseada
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
2025-10-18 02:42:08 -06:00
9dc1c88c6a Fix: Corregir clave de configuración de toasts para Nuxt UI v4
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m2s
PROBLEMA ENCONTRADO: Los toasts seguían con estilo por defecto

CAUSA RAÍZ:
- En Nuxt UI v4 la clave de configuración es 'toast' no 'notification'
- Estaba usando 'notification:' en app.config.ts
- Por eso los estilos personalizados nunca se aplicaban

SOLUCIÓN:
- Cambiar 'notification:' por 'toast:' en app.config.ts
- Ahora las clases CSS personalizadas sí se aplicarán
- Los toasts usarán el estilo outline/terminal del sistema
2025-10-18 02:37:38 -06:00
60287f35dc Debug: Cambiar a slot #content y agregar debug de datos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m2s
- Cambiar de slot #body a #content
- Agregar debug para ver qué contiene item cuando no tiene muestra
- Esto ayudará a entender qué datos recibe el slot
2025-10-18 02:36:11 -06:00
9e6f80e98f Debug: Agregar v-if para verificar datos en slot #body
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m1s
2025-10-18 02:33:50 -06:00
009c6a1821 Fix: Rediseñar toasts completamente para acoplarse al sistema de catación
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m1s
PROBLEMA: Toasts usaban estilos por defecto de Nuxt UI que no se acoplaban al diseño outline/terminal

SOLUCIÓN:
- Cambiar app.config.ts para usar clases CSS personalizadas en lugar de sintaxis arbitraria de Tailwind
- Agregar estilos CSS completos en main.css usando variables del sistema (--cata-bg, --cata-fg, --cata-primary)
- Implementar todas las variantes (primary, success, error, warning, info, neutral)

ESTILOS APLICADOS:
- Fondo: var(--cata-bg) en claro, negro 95% opaco en oscuro
- Bordes: outline usando var(--cata-primary) con opacidades
- Texto: fuente monospace en modo oscuro con text-shadow
- Iconos: colores específicos por tipo con drop-shadow en oscuro
- Efectos glow: sombras sutiles en modo oscuro según tipo
- IMPORTANTE: Usar !important para sobrescribir estilos de Nuxt UI
2025-10-18 02:31:31 -06:00
0d8b3adfc8 Fix: Usar slot #body en lugar de slots personalizados por muestra
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
- Simplificar uso de slots del accordion usando #body para el contenido
- Remover v-for innecesario en templates de slots
- Remover propiedad slot de accordionItems
- Esto permite que el contenido se renderice correctamente cuando se expande el accordion
2025-10-18 02:29:53 -06:00
7a15da0840 Fix: Corregir tipos de TypeScript en accordion
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Importar tipo Muestra correctamente
- Remover tipo AccordionItem no usado
- Tipar muestra como Muestra en accordionItems
- Permitir inferencia de tipo del computed
2025-10-18 02:25:52 -06:00
f5c81cbe2f Feat: Agregar animación de hover sutil a tabs
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
- Aumentar opacidad del texto de 60% a 80% en hover
- Mostrar borde inferior sutil (30% opacity) en hover
- Agregar text-shadow suave en modo oscuro
- Solo afecta tabs inactivas (no las activas)
- Transiciones específicas: color, border-color, text-shadow
- CERO cambios de tamaño o desplazamiento, solo colores
2025-10-18 02:25:25 -06:00
c87aa68d7d Fix: Corregir uso de slots en accordion para pasar correctamente los datos
- Usar parámetro { item } en slot personalizado del FormularioMuestra
- Pasar item.muestra en lugar de la muestra del v-for
- Esto asegura que se use la muestra clonada del accordionItems
2025-10-18 02:25:02 -06:00
8c7fa77901 Fix: Eliminar cambios de tamaño en hover de botones
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m1s
- Quitar border-width en hover que causaba crecimiento del botón
- Cambiar solo border-color en hover (de 50% a 70% opacity)
- Modificar transition para solo animar propiedades de color
- CERO cambios de tamaño o desplazamiento, solo colores
2025-10-18 02:22:32 -06:00
95d498694a Fix: Mejorar UX de botones y toasts del sistema de catación
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m2s
- Quitar efecto scale on hover/active de todos los botones cata-button
- Quitar efecto hover:scale del avatar en UserInfo
- Rediseñar toasts con estilo outline/terminal 100% acoplado al sistema
- Toasts usan variables CSS del sistema (--cata-bg, --cata-fg, --cata-primary)
- Texto con fuente mono y text-shadow en modo oscuro
- Efectos glow sutiles en modo oscuro según tipo de notificación
- Bordes outline coherentes con diseño del sistema de catación
2025-10-18 02:18:56 -06:00
02cdec58da Fix: Simplificar componente ResumenMuestra para funcionar correctamente como header del accordion
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
- Rediseñar layout para ser más compacto y horizontal
- Usar badges de indicadores para mostrar valores afectivos de intensidades
- Mostrar progreso con barra visual en desktop
- Eliminar información redundante y simplificar estructura
- Mejorar responsive design para mobile
2025-10-18 02:18:12 -06:00
9cbc5f94c3 Fix: Eliminar componentes duplicados que causaban conflicto en el build
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Eliminar CataResumenMuestra.vue y CataFormularioMuestra.vue duplicados
- Usar componentes existentes en components/cata/ que ya se auto-registran como CataResumenMuestra y CataFormularioMuestra
- Resolver conflicto de nombres en Nuxt que impedía el build
2025-10-18 02:12:22 -06:00
5e697dbc89 Fix: Corregir bug visual de accordions en sesión de catación
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 16s
- Crear componente CataResumenMuestra para mostrar resumen de cada muestra en el header del accordion
- Crear componente CataFormularioMuestra para mostrar formulario de edición de intensidades por tab
- Corregir uso de slots en UAccordion para mostrar correctamente el contenido
- Usar slot #default para customizar el header con CataResumenMuestra
- Usar slots personalizados por muestra para el body con CataFormularioMuestra
- Agregar estilos mejorados para los items del accordion
2025-10-18 02:10:15 -06:00