Commit Graph

151 Commits

Author SHA1 Message Date
01e35a2c0b Fix: aplicar color correcto al icono en tabs activas/inactivas
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 52s
Cambiado de 'icon' a 'leadingIcon' (propiedad correcta de Nuxt UI)
y agregados estados de color explícitos:
- Tab activa: text-[#1b1209] (negro oscuro)
- Tab inactiva: text-[var(--brand-text-muted)] (gris apagado)
- Transición suave de colores con transition-colors duration-200

Esto asegura que el icono sea visible y cambie de color
correctamente al seleccionar diferentes tabs.
2025-10-30 11:28:16 -06:00
ca72746138 Fix: Eliminar race condition en sincronización del icono de toggle
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
Problema:
- El icono del toggle mostraba comportamiento inconsistente entre páginas
- Algunas páginas cargaban con icono correcto (hamburguesa) y otras con "X"
- Race condition entre múltiples watchers compitiendo por el estado

Causa raíz detectada:
1. DashboardSidebar.vue:58 tiene watcher con {immediate:true} que sincroniza
   nuestro composable → contexto de DashboardGroup
2. DashboardSidebar.vue:60 tiene watcher que cierra sidebar en navegación
3. Nuestro composable TAMBIÉN tenía un watcher de navegación (duplicado)
4. Múltiples watchers registrándose cada vez que se llama useSidebarState()
5. Race condition: dependiendo del orden de montaje de componentes,
   el toggle podía leer el estado antes o después de la sincronización

Solución:
- Eliminar completamente el watcher de navegación de nuestro composable
- Dejar que DashboardSidebar de Nuxt UI maneje el cierre en navegación
- Nuestro composable solo mantiene el estado, no lógica de ciclo de vida
- Evita múltiples registros de watchers
- Elimina la race condition

Cambios:
- Removido watcher de route.fullPath (líneas 110-116)
- Removidas importaciones innecesarias (watch, useRoute)
- Actualizado comentario del header
- Simplificado: composable ahora es puramente state management

Resultado:
✓ Icono consistente en todas las páginas
✓ No más race conditions
✓ Menos watchers = mejor performance
✓ DashboardSidebar maneja toda la lógica de navegación

Referencias:
- app/composables/useSidebarState.ts:14
- app/composables/useSidebarState.ts:29
2025-10-30 11:28:11 -06:00
a32ea314ce Fix: suprimir error de TypeScript en customización de icon
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 48s
Agregado @ts-expect-error para suprimir la advertencia sobre
la propiedad 'icon' que no está en los tipos formales pero es
una customización válida en Nuxt UI.
2025-10-30 11:26:58 -06:00
b643feaae8 Fix: icono se vuelve negro cuando tab está activa
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 54s
Agregado z-20 al icono para que herede correctamente el color
del trigger activo. Ahora el icono cambia a negro (#1b1209)
cuando la tab está seleccionada, igual que el label.
2025-10-30 11:24:48 -06:00
6ce28596c8 Fix: Corregir icono del toggle en carga inicial de la sidebar
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 50s
El icono del toggle mostraba "X" (cerrar) en lugar del icono hamburguesa
al cargar la página, aunque se corregía tras la primera interacción.

Causa raíz:
- UDashboardGroup inicializa sidebarOpen en false
- Nuestro composable inicializaba open en true por defecto
- El toggle lee el estado del contexto de DashboardGroup
- Desincronización causaba que el icono mostrara el estado incorrecto

Solución:
- Cambiar el default de open a false en el composable
- En desktop, open=false es correcto (no hay overlay, sidebar siempre visible)
- En mobile, open=false significa overlay cerrado (comportamiento esperado)
- Alineación total con el comportamiento de Nuxt UI

Archivos modificados:
- app/composables/useSidebarState.ts:43-46 (default open: false)
- app/composables/useSidebarState.ts:57 (fallback a false)

Referencias:
- app/composables/useSidebarState.ts:46
- app/composables/useSidebarState.ts:57
2025-10-30 11:23:21 -06:00
bd08da3fc7 Fix: quitar borde inferior de las tabs
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
Removido border-b border-[var(--brand-border)] de la lista de tabs
para lograr una apariencia más limpia y minimalista.
2025-10-30 11:22:44 -06:00
920b868f7a Fix: hacer visible el indicador animado de tabs
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Cambios realizados:
- Tabs inactivos ahora tienen fondo transparente en lugar de #1c140c
- Indicador tiene z-10 para estar por encima del fondo
- Labels tienen z-20 para estar por encima del indicador
- Hover de tabs inactivos usa bg semi-transparente (#2a1f14/50)
- Agregada transición suave de colores (transition-colors duration-200)

Esto soluciona el problema donde el badge color cobre se ocultaba
durante la animación de deslizamiento entre tabs.
2025-10-30 11:21:19 -06:00
a10d39a179 Refactor: Implementación impecable de la sidebar con estado unificado
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 49s
Soluciona todos los problemas identificados en la arquitectura anterior:

Cambios principales:
- Nuevo composable useSidebarState() que centraliza todo el estado
- Elimina múltiples fuentes de verdad que causaban desincronización
- Remueve watchers en cascada y hooks indirectos
- Elimina workarounds manuales de DOM y aria-hidden
- Implementa persistencia consistente en cookies
- Manejo responsive automático (mobile vs desktop)

Archivos modificados:
- app/composables/useSidebarState.ts (nuevo): Composable singleton
- app/components/app/AppSidebar.vue: Usa el nuevo composable
- app/layouts/dashboard.vue: Simplificado, sin refs locales ni workarounds
- docs/SIDEBAR_ARCHITECTURE.md (nuevo): Documentación completa

Beneficios:
✓ Estado consistente en toda la aplicación
✓ No más flickering o comportamientos anómalos
✓ Código más simple y mantenible
✓ Mejor performance (menos re-renders)
✓ Auto-close en mobile al navegar

Referencias:
- app/composables/useSidebarState.ts:1
- app/components/app/AppSidebar.vue:232
- app/layouts/dashboard.vue:40
2025-10-30 11:16:15 -06:00
307f488009 Fix: usar query simple de clientes desde Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Cambios:
- Crear nueva query "Informe Ingresos - Lista Simple de Clientes" (ID: 55)
- SELECT directo de tabla clientes sin filtros ni agregaciones
- Actualizar endpoint /api/clientes para usar la nueva query
- Eliminar parámetros innecesarios (la query no tiene filtros)
- Agregar logs para debugging
2025-10-29 19:27:39 -06:00
a496029895 Fix: corregir nombres de columnas en opciones-filtros (disponibles/cafe)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 45s
2025-10-29 19:21:58 -06:00
dfe822319d Fix: corregir parsing de opciones-filtros (soportar strings y arrays)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
2025-10-29 19:19:47 -06:00
be538eaf29 Debug: agregar logging para opciones-filtros
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
2025-10-29 19:17:07 -06:00
52e6f5cdce Fix: corregir arquitectura - TODO debe pasar por Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 49s
BREAKING: Violación de arquitectura corregida
- Eliminar endpoint /api/postgres/query (acceso directo a DB prohibido)
- Cambiar /api/clientes para usar query de Metabase en lugar de SQL directo
- Crear endpoint /api/metabase/opciones-filtros para obtener opciones
- Cambiar loadOpcionesFiltros para usar API en lugar de MCP directo
- Usar "Informe Ingresos - Lista de Clientes con Totales" para clientes
- Usar "Informe Ingresos - Opciones de Filtros" para opciones
- Respetar filosofía: Metabase calcula TODO, Vue solo renderiza
- La app NUNCA habla directamente con bases de datos
2025-10-29 18:43:04 -06:00
b9c2e43c88 Fix: tab seleccionada con texto negro y hover más fuerte
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 49s
2025-10-29 18:38:52 -06:00
20f87e37fc Feature: agregar filtros de clientes y ubicaciones en Informe de Ingresos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
- Crear endpoint /api/clientes para obtener clientes desde Supabase
- Crear endpoint /api/postgres/query para ejecutar queries SQL
- Crear componente ClienteMultiSelector con búsqueda y filtro por ubicación
- Agregar filtros de clientes, ubicaciones y calidades en informe-ingresos.vue
- Cargar opciones de filtros desde Metabase (query ID 53)
- Actualizar detección de cambios pendientes con nuevos filtros
- Enviar cliente_ids, ubicaciones y calidades al endpoint de Metabase
- Componente con formato de cédula y ordenamiento por nombre
- Búsqueda por nombre, cédula o ubicación
- Contador de selección y botón limpiar todo
- Botones rápidos para seleccionar por ubicación
2025-10-29 18:36:14 -06:00
2ba8ff9b7e Fix: aplicar fondo café #1c140c a tabs inactivas en Metabase Debug
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 44s
2025-10-29 18:34:58 -06:00
369085a38a Fix: corregir estructura de :ui para UTabs con colores de marca
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
2025-10-29 18:30:56 -06:00
5aac61d37a Style: aplicar colores café del tema a tabs e input en Metabase Debug
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
- Personalizar UTabs con prop :ui usando colores de marca
- Tab seleccionada: bg-[#c08040] con texto oscuro
- Tabs inactivas: text-[var(--brand-text-muted)] con hover
- Borde inferior: border-[var(--brand-border)]
- Input de búsqueda con bg, text y border del tema
- Focus ring en color café #c08040
2025-10-29 18:23:34 -06:00
180bb661be Revert "Fix: aplicar estilos de marca a tabs y input de búsqueda en Metabase Debug"
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
This reverts commit f8ae9e44e7.
2025-10-29 18:21:33 -06:00
8caf8a5e10 Refactor: reactivar página Informe de Ingresos con arquitectura Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
- Reescribir informe-ingresos.vue siguiendo patrón de panorama.vue
- Implementar filosofía "Metabase calcula TODO, Vue solo renderiza"
- Agregar filtros avanzados: tipos de café, estados
- Integrar con endpoint /api/metabase/informe existente
- Usar componentes reutilizables: TotalesIngresoCompra, TotalesMonetarios, TotalesVerde
- Implementar detección de cambios pendientes con alertas visuales
- Agregar confirmación para incluir registros anulados
- Eliminar documentación redundante de queries (ya está en Metabase Debug)
- Layout informe con control de visibilidad de secciones
- Placeholders para tablas y gráficas futuras
2025-10-29 18:20:29 -06:00
f8ae9e44e7 Fix: aplicar estilos de marca a tabs y input de búsqueda en Metabase Debug
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
- Envolver tabs en UCard con clase brand-card
- Aplicar estilos de variables CSS al input de búsqueda
- Configurar focus ring con color de marca #c08040
- Usar colores de texto y fondo del tema en input
2025-10-29 18:11:43 -06:00
e85078f6c8 Refactor: unificar estilos de cards de Metabase Debug con Panorama e Informe
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 49s
- Aplicar clase brand-card a todas las cards principales
- Usar colores de variables CSS (--brand-text, --brand-text-muted, --brand-primary)
- Estilizar cards de estadísticas con border-[#3a2a16] y bg-[#1c140c]
- Actualizar estilos de tablas, modales y formularios
- Aplicar estilo consistente a botones principales con color de marca #c08040
2025-10-29 18:06:48 -06:00
e25a0c6b76 Fix: no enviar parámetros opcionales vacíos a Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 45s
Problema:
- Al enviar parámetros con valores vacíos (""), Metabase los expandía
- Filtros opcionales [[AND ...]] se convertían en filtros obligatorios
- Resultado: queries retornaban 0 registros en lugar de aplicar filtros opcionales

Solución:
- Solo enviar parámetros si son requeridos O tienen valor no vacío
- Verificar que el valor no sea null, "", undefined o array vacío
- Los parámetros opcionales sin valor no se incluyen en el request

Afecta: MetabaseCardDisplay.vue executeQuery() líneas 345-360
2025-10-29 17:46:36 -06:00
20d71ba47a Fix: enviar string vacío en lugar de null para parámetros text/date en Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 45s
Problema:
- Metabase rechazaba queries cuando se enviaba null para parámetros text/date
- Error: "faltan los parámetros necesarios: fecha_desde, fecha_hasta"
- Los parámetros usados fuera de [[...]] son considerados requeridos

Solución:
- Cambiar || null a || '' para parámetros de tipo text y date
- Ahora envía string vacío que es compatible con NULLIF() en la query SQL

Afecta: MetabaseCardDisplay.vue líneas 333 y 342
2025-10-29 17:42:34 -06:00
76eaa5fd6a Fix: corregir tipos de parámetros en queries de Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Problema:
- Las queries de Metabase fallaban con error 500 al ejecutarse desde metabase-debug
- Metabase rechazaba los parámetros porque usaban tipos simples en lugar de tipos con operadores

Solución:
- Actualizar mapeo de tipos de parámetros en MetabaseCardDisplay.vue
- boolean → boolean/=
- date → date/single
- number → number/=
- text → string/=

Esto corrige el error "Tipo de parámetro no válido :text para el parámetro 'cliente_ids'"
2025-10-29 17:30:12 -06:00
2e58a16f4d Refactor: mejorar diseño de página informe-ingresos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
Cambios realizados:
- Eliminar cards innecesarias que envolvían componentes de métricas
  (TotalesMonetarios, TotalesIngresoCompra, TotalesVerde ya son cards)
- Actualizar estilo del contenedor de filtros al estilo de panorama facturador:
  * Usar clase 'brand-card' y bordes transparentes
  * Header con título y subtítulo estilizados
  * Checkbox 'Incluir anulados' en header
  * Inputs con variables CSS de brand
  * Footer con botón 'Actualizar' estilizado
  * Layout consistente con gap-8

Resultado: diseño más limpio, sin duplicación de cards y
estilo consistente entre páginas.
2025-10-29 17:24:20 -06:00
db1a12d100 Refactor: simplificar indicadores de cambios pendientes
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
Cambios realizados:
- Alerta más compacta con variant 'soft' en lugar de 'solid'
- Eliminado botón 'Actualizar ahora' redundante de la alerta
- Eliminado emoji de advertencia del botón 'Actualizar'
- Simplificado borde del card (solo borde amarillo sutil)
- Eliminadas sombras y rings del card
- Eliminada animación pulse del botón
- Mantenido punto amarillo pulsante en la alerta

El indicador ahora es más discreto pero sigue siendo evidente.
2025-10-29 17:18:47 -06:00
a4e4fd6a64 Feat: agregar indicador visual de cambios pendientes en filtros
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 45s
Implementación de sistema de tracking para detectar cuando los filtros
han cambiado pero no se han aplicado a los datos mostrados.

Indicadores visuales implementados:
- Alerta amarilla prominente con animación pulse y ping
- Borde y sombra amarilla en el card de filtros
- Botón 'Actualizar' cambia a amarillo con emoji de advertencia
- Botón rápido 'Actualizar ahora' dentro de la alerta
- Animaciones llamativas para captar la atención

El sistema compara los filtros actuales con los últimos aplicados
y muestra indicadores visuales evidentes cuando hay diferencias.
2025-10-29 17:16:08 -06:00
4cbc944682 Fix: eliminar carga automática de datos en panorama facturador
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Cambios implementados:
- Eliminada la llamada automática a loadData() en onMounted
- Añadido estado inicial con mensaje de bienvenida
- El usuario debe hacer clic explícito en 'Actualizar' para cargar datos
- Mejora la experiencia evitando queries automáticas pesadas a Metabase

Ahora la página muestra:
- Estado inicial: filtros + mensaje invitando a actualizar
- Estado con datos: filtros + todas las secciones de datos
2025-10-29 15:28:23 -06:00
baf8f2ae0a Fix: cerrar sidebar automáticamente en móvil al cargar la página
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 45s
La sidebar ahora detecta el tamaño de pantalla al inicializar:
- En móvil (< 1024px): cerrada por defecto
- En desktop (>= 1024px): abierta por defecto

Esto mejora la experiencia en dispositivos móviles evitando que
la sidebar tape el contenido al cargar la página.
2025-10-29 15:25:44 -06:00
f1f5b84af9 Refactor: controlar peticiones a Metabase en panorama facturador
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Cambios realizados:
- Mover botón "Actualizar" al footer del card de Filtros
- Implementar guard para prevenir peticiones simultáneas
- Eliminar watcher automático de fechas
- Deshabilitar recarga automática al cambiar "incluir anulados"
- Usuario debe hacer clic explícito en "Actualizar" para cargar datos

Esto garantiza que solo una petición a Metabase esté activa a la vez
y da control total al usuario sobre cuándo recargar los datos.
2025-10-29 15:22:35 -06:00
33e0319272 Refactor: mover toggle de unidades y aplicar en Precios Promedio Ponderados
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 48s
Cambios en TotalesIngresoCompra:
- Mover botón toggle del header principal al header de sección 'Uva'
- Mejor posicionamiento: solo afecta la sección donde se aplica

Cambios en TotalesMonetarios:
- Agregar toggle de unidades en 'Precios Promedio Ponderados' para Uva
- 3 estados: LB, QQ, Ambos (muestra ambos precios en un contenedor)
- Unificar visualización de 'Uva por LB' y 'Uva por QQ' en un solo contenedor
- Grid cambia de 5 a 4 columnas para mejor layout

Ambos toggles funcionan independientemente y mantienen el mismo patrón
de diseño con iconos dinámicos.
2025-10-29 13:25:43 -06:00
465d68ec17 Feat: agregar toggle de unidades en sección Uva de Totales de Ingreso y Compra
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 49s
- Agregar botón toggle de 3 estados: LB, QQ Seco, Ambos
- Por defecto muestra valores en LB
- Al cambiar a QQ Seco muestra: QQ Seco Ingresado, Pagado, en Depósito
- Al cambiar a Ambos muestra ambas unidades en el mismo contenedor
- Calcular QQ Seco en Depósito para Uva (ingresado - pagado)
- Iconos dinámicos según el modo seleccionado
2025-10-29 13:19:35 -06:00
ce7bec7d4c Fix: corregir tipos de parámetros para queries nativas SQL de Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 47s
Cambios principales:
- Cambiar tipo de parámetros de fecha de 'date/single' a 'text'
- Cambiar tipo de parámetro booleano de 'category' a 'boolean'
- Cambiar tipo de parámetros de categoría de 'category' a 'text'

Las queries SQL nativas en Metabase usan template-tags con tipos específicos
que deben coincidir exactamente con el tipo definido en el template-tag,
no con los tipos de UI de Metabase.

Archivos modificados:
- server/api/metabase/panorama.post.ts
- server/api/metabase/informe.post.ts

Resuelve el problema donde todas las queries retornaban error 500 y
respuestas vacías debido a tipos de parámetros incompatibles.
2025-10-29 10:32:10 -06:00
b4ec8d5444 Debug: agregar logging extensivo al endpoint de panorama
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 44s
- Agregar logs para verificar que las cards se encuentren correctamente
- Agregar logs detallados de los parámetros enviados a cada query
- Agregar logs de la estructura de respuesta de Metabase
- Agregar logs de la transformación de datos (single row y multiple rows)
- Esto ayudará a diagnosticar por qué las respuestas están vacías
2025-10-29 10:22:51 -06:00
ad1050b256 Fix: convertir parámetros null a string vacío para queries de Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 55s
- Modificar panorama.post.ts e informe.post.ts para convertir fecha_desde y fecha_hasta null a strings vacíos
- Las queries de Metabase usan NULLIF(?, '') para detectar parámetros vacíos
- Esto permite que las queries usen sus defaults (fecha actual) correctamente
2025-10-29 10:16:04 -06:00
1af1c61191 Agregar componente RechazosSubproductos para panorama facturador
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 5m28s
2025-10-29 10:05:31 -06:00
ae19af5c9e Fix: corregir renderizado de parámetros en MetabaseCardDisplay
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 48s
- Cambiar tipo de parámetros boolean de 'category' a 'boolean' para que funcione el UToggle
- Detectar campos de fecha por nombre aunque sean tipo text en Metabase
- Renderizar inputs de fecha con date picker para campos que contienen 'fecha'
- Mejorar inicialización de parámetros text que representan fechas

Resuelve el problema donde incluir_anulados no aparecía y fecha_desde/fecha_hasta
se mostraban como text inputs en lugar de date pickers
2025-10-29 09:38:17 -06:00
646057188e Actualizar README con cambios v1.1.0: Informe de Ingresos y config centralizada
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 8s
2025-10-27 17:24:04 -06:00
ab0e3479f5 Activar página de Informe de Ingresos con filtros y totales
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
2025-10-27 17:19:51 -06:00
a243710fe8 Actualizar Metabase Debug: usar config centralizado y agregar tab de Informe Ingresos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
2025-10-27 17:14:37 -06:00
9cadbb0a66 Fix: usar rutas relativas para imports en server/
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 46s
2025-10-27 17:09:56 -06:00
e918b9d4ec Agregar endpoint de Informe de Ingresos y centralizar config de queries de Metabase
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 35s
2025-10-27 17:08:01 -06:00
caefe317e0 Agregar README completo del proyecto
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 8s
2025-10-27 15:54:09 -06:00
f36861f1b2 Eliminar composables legacy useIngresosMetrics y useRechazosMetrics
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 52s
2025-10-27 15:36:51 -06:00
71d0f98338 Fix: exportar variables NUXT_METABASE_* en workflow para runtime config
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 11s
2025-10-27 15:34:19 -06:00
f83a19c4c0 Fix: usar variables NUXT_ para runtime config de Metabase
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 10s
2025-10-27 15:33:01 -06:00
79189d25d0 Fix: agregar METABASE_API_KEY faltante a .env.example
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 10s
2025-10-27 15:30:41 -06:00
1a0533f398 Trigger redeploy con nueva METABASE_URL configurada en Gitea Variables
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 10s
2025-10-27 15:26:41 -06:00
ed2c2ec1eb Fix: usar URL interna de Docker para Metabase (http://metabase:3000)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 11s
El contenedor estaba intentando conectarse a la URL pública de Metabase
(https://metabase.nucleoriofrio.com) en lugar de usar la red interna
de Docker (http://metabase:3000), causando errores 401 Unauthorized.

Esto permite que el contenedor de Nuxt se comunique directamente con
el contenedor de Metabase a través de la red Docker sin pasar por
Traefik/Authentik.
2025-10-27 15:23:18 -06:00