diff --git a/nuxt4-app/app/pages/metabase-debug.vue b/nuxt4-app/app/pages/metabase-debug.vue
index d27d1d1..8aed2ed 100644
--- a/nuxt4-app/app/pages/metabase-debug.vue
+++ b/nuxt4-app/app/pages/metabase-debug.vue
@@ -31,7 +31,7 @@
-
@@ -189,6 +222,7 @@ const selectedTab = ref(0)
// Get expected query names from centralized config (via API)
const expectedPanoramaNames = ref([])
const expectedInformeNames = ref([])
+const expectedComparativaNames = ref([])
// Fetch query config on mount
async function fetchQueryConfig() {
@@ -196,6 +230,7 @@ async function fetchQueryConfig() {
const config = await $fetch('/api/metabase/query-config')
expectedPanoramaNames.value = config.panorama
expectedInformeNames.value = config.informe
+ expectedComparativaNames.value = config.comparativa
} catch (e: any) {
console.error('Error fetching query config:', e)
}
@@ -226,6 +261,12 @@ const tabs = [
icon: 'i-heroicons-document-chart-bar',
slot: 'informe'
},
+ {
+ key: 'comparativa',
+ label: 'Queries Comparativa',
+ icon: 'i-heroicons-calendar',
+ slot: 'comparativa'
+ },
{
key: 'detail',
label: 'Detalle',
@@ -263,6 +304,13 @@ const informeQueries = computed(() => {
)
})
+// Find comparativa queries using centralized config
+const comparativaQueries = computed(() => {
+ return cards.value.filter(card =>
+ expectedComparativaNames.value.includes(card.name)
+ )
+})
+
// Calculate missing queries
const missingPanoramaQueries = computed(() => {
const foundNames = panoramaQueries.value.map(q => q.name)
@@ -274,6 +322,11 @@ const missingInformeQueries = computed(() => {
return expectedInformeNames.value.filter(name => !foundNames.includes(name))
})
+const missingComparativaQueries = computed(() => {
+ const foundNames = comparativaQueries.value.map(q => q.name)
+ return expectedComparativaNames.value.filter(name => !foundNames.includes(name))
+})
+
async function fetchCards() {
loading.value = true
error.value = null
@@ -295,7 +348,7 @@ function refreshCards() {
function selectCard(card: any) {
selectedCard.value = card
- selectedTab.value = 4 // Switch to detail tab (now index 4 instead of 3)
+ selectedTab.value = 5 // Switch to detail tab (now index 5)
}
// Load data on mount
diff --git a/nuxt4-app/server/api/metabase/query-config.get.ts b/nuxt4-app/server/api/metabase/query-config.get.ts
index 53abe20..c0f2c81 100644
--- a/nuxt4-app/server/api/metabase/query-config.get.ts
+++ b/nuxt4-app/server/api/metabase/query-config.get.ts
@@ -2,11 +2,12 @@ import { METABASE_QUERIES } from '../../config/metabase-queries'
/**
* Expose query configuration to the frontend
- * Returns the expected query names for panorama and informe
+ * Returns the expected query names for panorama, informe and comparativa
*/
export default defineEventHandler(() => {
return {
panorama: Object.values(METABASE_QUERIES.panorama),
- informe: Object.values(METABASE_QUERIES.informe)
+ informe: Object.values(METABASE_QUERIES.informe),
+ comparativa: Object.values(METABASE_QUERIES.comparativa)
}
})