From 2756964376f22f8b7dfe4f646a93869ed371328b Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Mon, 3 Mar 2025 22:24:55 +0100 Subject: [PATCH] bugfixing --- src/lib/components/Feedback.svelte | 5 +-- .../components/Options/GreekExposure.svelte | 33 ++++++++++++------- src/routes/+layout.svelte | 2 +- .../[tickerID]/metrics/[slug]/+page.svelte | 14 ++++---- 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/lib/components/Feedback.svelte b/src/lib/components/Feedback.svelte index a08e702e..e47915c2 100644 --- a/src/lib/components/Feedback.svelte +++ b/src/lib/components/Feedback.svelte @@ -68,10 +68,7 @@ body: JSON.stringify(postData), }); - toast.success("Thank you for your feedback", { - style: - "border-radius: 5px; background: #fff; color: #000; border-color: #4B5563; font-size: 15px;", - }); + toast.success("Thank you for your feedback"); rating = ""; inputValue = ""; diff --git a/src/lib/components/Options/GreekExposure.svelte b/src/lib/components/Options/GreekExposure.svelte index 74d2aa4f..9f4abc1c 100644 --- a/src/lib/components/Options/GreekExposure.svelte +++ b/src/lib/components/Options/GreekExposure.svelte @@ -55,27 +55,36 @@ } // Filter the data based on the calculated start date - let filteredData = historicalData?.filter((item) => { - if (!item?.date) return false; - const itemDate = new Date(item.date); - return itemDate >= startDate && itemDate <= currentDate; - }); + let filteredData = + historicalData?.filter((item) => { + if (!item || !item.date) return false; // Ensure item and date are valid + const itemDate = new Date(item.date); + return ( + !isNaN(itemDate) && itemDate >= startDate && itemDate <= currentDate + ); + }) || []; - filteredData?.forEach((entry) => { + filteredData.forEach((entry) => { const matchingData = data?.getHistoricalPrice?.find( (d) => d?.time === entry?.date, ); if (matchingData) { - entry.price = matchingData?.close; + entry.price = matchingData?.close ?? null; // Ensure price is valid } }); // Extract the dates and gamma values from the filtered data - const dateList = filteredData?.map((item) => item.date); - const dataList = filteredData?.map((item) => - title === "Gamma" ? item.netGex : item.netDex, - ); - const priceList = filteredData?.map((item) => item.price); + const dateList = filteredData + .map((item) => item.date) + .filter((date) => date != null); // Filter out null/undefined + + const dataList = filteredData + .map((item) => (title === "Gamma" ? item.netGex : item.netDex)) + .filter((value) => value != null); // Filter out null/undefined + + const priceList = filteredData + .map((item) => item.price) + .filter((price) => price != null); // Filter out null/undefined return { dateList, dataList, priceList }; } diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 30e49bd7..8245fde1 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1204,7 +1204,7 @@ --> - + {#if Cookie && $showCookieConsent === true} diff --git a/src/routes/stocks/[tickerID]/metrics/[slug]/+page.svelte b/src/routes/stocks/[tickerID]/metrics/[slug]/+page.svelte index c8715d0c..e286c1bc 100644 --- a/src/routes/stocks/[tickerID]/metrics/[slug]/+page.svelte +++ b/src/routes/stocks/[tickerID]/metrics/[slug]/+page.svelte @@ -37,18 +37,18 @@ } function plotData() { - // First, sort and filter your dataset just like before. + console.log(dataset); const plotDataset = [...dataset]?.sort( - (a, b) => new Date(a.date) - new Date(b.date), + (a, b) => new Date(a?.date) - new Date(b?.date), ); const xData = plotDataset - .filter((item) => item.value !== null) // Filter out null values - .map((item) => item.date); // Get the date strings + ?.filter((item) => item?.value !== null && item?.value !== undefined) // Filter out null values + ?.map((item) => item?.date); // Get the date strings const valueList = []; - for (let i = 0; i < plotDataset.length; i++) { - if (plotDataset[i].value !== null) { - valueList.push(plotDataset[i].value); + for (let i = 0; i < plotDataset?.length; i++) { + if (plotDataset[i]?.value) { + valueList?.push(plotDataset[i]?.value); } }