From 181d0bacd38bcff857b7cd7245ab7d90e4a60260 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Wed, 28 Aug 2024 00:10:55 +0200 Subject: [PATCH] add economic data page --- src/lib/components/TickerInfoCard.svelte | 22 +- src/routes/economic-data/+page.svelte | 528 +++++++++++++++++++++++ src/routes/economic-data/+page.ts | 35 ++ 3 files changed, 574 insertions(+), 11 deletions(-) create mode 100644 src/routes/economic-data/+page.svelte create mode 100644 src/routes/economic-data/+page.ts diff --git a/src/lib/components/TickerInfoCard.svelte b/src/lib/components/TickerInfoCard.svelte index 887619ab..6a47bcda 100644 --- a/src/lib/components/TickerInfoCard.svelte +++ b/src/lib/components/TickerInfoCard.svelte @@ -117,20 +117,20 @@ $: { CEO - {ceoName} + {ceoName} Country {country} - Market Cap - {abbreviateNumber(data?.getStockQuote?.marketCap,true)} - Volume + Mkt Cap + {abbreviateNumber(data?.getStockQuote?.marketCap,true)} + Vol {abbreviateNumber(data?.getStockQuote?.volume)} Beta - {beta} - Avg. Volume + {beta} + Avg. Vol {abbreviateNumber(data?.getStockQuote?.avgVolume)} Open - {data?.getStockQuote?.open?.toFixed(2)} - Previous Close + {data?.getStockQuote?.open?.toFixed(2)} + Prev. Close {data?.getStockQuote?.previousClose?.toFixed(2)} {#if $screenWidth > 640} Day's Range - {data?.getStockQuote?.dayLow?.toFixed(2)} - {data?.getStockQuote?.dayHigh?.toFixed(2)} + {data?.getStockQuote?.dayLow?.toFixed(2)} - {data?.getStockQuote?.dayHigh?.toFixed(2)} 52-Week Range {data?.getStockQuote?.yearLow?.toFixed(2)} - {data?.getStockQuote?.yearHigh?.toFixed(2)} {/if} EPS (ttm) - {data?.getStockQuote?.eps} + {data?.getStockQuote?.eps} PE Ratio (ttm) {data?.getStockQuote?.pe} Shares Out. - {abbreviateNumber(data?.getStockQuote?.sharesOutstanding)} + {abbreviateNumber(data?.getStockQuote?.sharesOutstanding)} Forward PE {forwardPE === undefined ? '-' : forwardPE} diff --git a/src/routes/economic-data/+page.svelte b/src/routes/economic-data/+page.svelte new file mode 100644 index 00000000..3bd1548a --- /dev/null +++ b/src/routes/economic-data/+page.svelte @@ -0,0 +1,528 @@ + + + + + + + {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ''} US Economic Data · stocknear + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+
+ + +
+ +
+
+ + +
+
+

+ US Economic Data +

+
+ + + US Economic Data such as treasury rate, CPI + + + +
+ + + + + +
+ + + + +
+ + {#if isLoaded} +
+ +

+ Treasury Rates +

+ +
+ Treasury rates are the interest rates that the US government pays on its debt obligations, and they are a key benchmark for interest rates across the economy. +
+ +
+
+ +
+
+ +
+ +
+ + +
    +
  • + +
  • +
  • + {#if data?.user?.tier === 'Pro'} + + {:else} + + Quarterly + + + {/if} + +
  • +
+ + +
+ + + + + + + + + + + + + + + + + + + {#each tableList as item, index} + + + + + + + + + + + + + + + + + + {/each} + + +
DateMonth 1Month 2Month 3Month 6Year 1Year 2Year 3Year 5Year 10Year 20Year 30
+ {item?.date} + + {item?.month1} + + {item?.month2} + + {item?.month3} + + {item?.month6} + + {item?.year1} + + {item?.year2} + + {item?.year3} + + {item?.year5} + + {item?.year10} + + {item?.year20} + + {item?.year30} +
+ + +
+ + + +
+ + {:else} +
+
+ +
+
+ {/if} + + +
+ + +
+
+ + +
+ + + +
+ + + + \ No newline at end of file diff --git a/src/routes/economic-data/+page.ts b/src/routes/economic-data/+page.ts new file mode 100644 index 00000000..8f186faf --- /dev/null +++ b/src/routes/economic-data/+page.ts @@ -0,0 +1,35 @@ +import { getCache, setCache } from '$lib/store'; + + + +export const load = async ({parent}) => { + const getEconomicData = async () => { + let output; + const {apiKey, apiURL} = await parent(); + + const cachedData = getCache('', 'getEconomicData'); + if (cachedData) { + output = cachedData; + } else { + const response = await fetch(apiURL + '/economic-data', { + method: 'GET', + headers: { + "Content-Type": "application/json", "X-API-KEY": apiKey + }, + }); + + output = await response.json(); + + + setCache('', output, 'getEconomicData'); + + } + + return output; + }; + + // Make sure to return a promise + return { + getEconomicData: await getEconomicData() + }; +}; \ No newline at end of file