Files
analiticaNucleo/nuxt4-app/app/components/MetricBox.vue
josedario87 f8c53da6fc
All checks were successful
build-and-deploy / build (push) Successful in 43s
build-and-deploy / deploy (push) Successful in 4s
feat: restaurar panorama facturador con nueva arquitectura basada en Metabase
- Crear endpoint /api/metabase/panorama.post.ts que ejecuta las 9 queries en paralelo
- Restaurar y adaptar panorama.vue para usar el nuevo endpoint
- Crear componentes auxiliares: SecosVendidos, TotalesIngresoCompra, TotalesMonetarios, TotalesVerde, MetricBox, RechazosRechazoCard
- Adaptar RechazosSubproductos para recibir data directamente de Metabase
- Toda la transformación de datos ocurre en las queries SQL de Metabase
- Sin uso de stores ni composables de métricas
- Agregar documentación de queries en archivos MD
2025-10-14 10:34:27 -06:00

28 lines
710 B
Vue

<template>
<div class="rounded-lg border border-[#3a2a16] bg-[#1c140c] px-4 py-3">
<div class="text-xs text-[var(--brand-text-muted)] uppercase tracking-wide mb-1">{{ label }}</div>
<div class="text-lg font-bold" :class="valueColor">
{{ value }}
</div>
</div>
</template>
<script setup lang="ts">
const props = defineProps<{
label: string
value: string
color?: 'default' | 'green' | 'yellow' | 'red' | 'blue'
}>()
const valueColor = computed(() => {
const colors = {
default: 'text-[var(--brand-text)]',
green: 'text-green-400',
yellow: 'text-yellow-400',
red: 'text-red-400',
blue: 'text-blue-400'
}
return colors[props.color || 'default']
})
</script>