- 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
28 lines
710 B
Vue
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>
|