From bb53f54e53da8072a00047d6d99d8c5105f75b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaque=20B=C3=B6ck?= Date: Thu, 19 Mar 2026 16:48:18 -0300 Subject: [PATCH] fix: loading empty table --- src/components/Table/TablePricing.astro | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/Table/TablePricing.astro b/src/components/Table/TablePricing.astro index 07072e87c9..d9bc079ce8 100644 --- a/src/components/Table/TablePricing.astro +++ b/src/components/Table/TablePricing.astro @@ -81,10 +81,12 @@ const i18n = { // FUNCTIONS // /////////////// -async function fetchPricingData() { +async function fetchPricingData() { // product_slug come from Astro.props const response = await fetch(`https://www.azion.com/api/pricing/get/product_slug/${product_slug}`); - return await response.json(); + const data = await response.json(); + // Return empty array if API returns error object instead of array + return Array.isArray(data) ? data : []; } function isReal() { @@ -102,8 +104,9 @@ function normalizeRegionName(region) { }; function transformData(data) { - const tiers = {}; - const filteredData = data.filter(item => item.metric_slug === metric_slug); + const tiers = {}; + // Defensive check: ensure data is an array before filtering + const filteredData = Array.isArray(data) ? data.filter(item => item.metric_slug === metric_slug) : []; filteredData.forEach((item, index) => { const tiersCountry = {