From 2b59440abe8e25ec5c37d213280f8611bcdc4a2c Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Fri, 27 Dec 2024 12:01:01 +0100 Subject: [PATCH] adding sector flow feature --- src/routes/price-alert/+page.svelte | 18 +- src/routes/sector-flow/+page.server.ts | 22 ++ src/routes/sector-flow/+page.svelte | 354 +++++++++++++++++++++++++ 3 files changed, 385 insertions(+), 9 deletions(-) create mode 100644 src/routes/sector-flow/+page.server.ts create mode 100644 src/routes/sector-flow/+page.svelte diff --git a/src/routes/price-alert/+page.svelte b/src/routes/price-alert/+page.svelte index e77b5876..e2366c47 100644 --- a/src/routes/price-alert/+page.svelte +++ b/src/routes/price-alert/+page.svelte @@ -442,7 +442,7 @@ class="table table-sm table-compact rounded-none sm:rounded-md w-full bg-table border border-gray-800 m-auto mt-4" > - + Symbol Company @@ -468,11 +468,11 @@ {#each priceAlertList as item} handleFilter(item?.id)} - class="text-blue-400 font-medium text-sm sm:text-[1rem] whitespace-nowrap text-start border-b-[#09090B] flex flex-row items-center" + class="text-blue-400 font-medium text-sm sm:text-[1rem] whitespace-nowrap text-start flex flex-row items-center" > {item?.name?.length > charNumber ? item?.name?.slice(0, charNumber) + "..." @@ -501,25 +501,25 @@ {item?.targetPrice} {item?.condition} {item.price?.toFixed(2)} {#if item?.changesPercentage >= 0} {abbreviateNumber(item?.volume)} diff --git a/src/routes/sector-flow/+page.server.ts b/src/routes/sector-flow/+page.server.ts new file mode 100644 index 00000000..721754e7 --- /dev/null +++ b/src/routes/sector-flow/+page.server.ts @@ -0,0 +1,22 @@ +export const load = async ({ locals }) => { + const getData = async () => { + const { apiKey, apiURL, user } = locals; + + const response = await fetch(apiURL + "/sector-flow", { + method: "GET", + headers: { + "Content-Type": "application/json", + "X-API-KEY": apiKey, + }, + }); + + let output = await response?.json(); + output = user?.tier !== "Pro" ? output?.slice(0, 6) : output; + return output; + }; + + // Make sure to return a promise + return { + getData: await getData(), + }; +}; diff --git a/src/routes/sector-flow/+page.svelte b/src/routes/sector-flow/+page.svelte new file mode 100644 index 00000000..d63e7a50 --- /dev/null +++ b/src/routes/sector-flow/+page.svelte @@ -0,0 +1,354 @@ + + + + + + + {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Jim + Carmer Tracker · Stocknear + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+
+

+ Sector Flow +

+

+ Track and compare historical and current options activity + performances of sectors +

+
+ +
+
+ + + + + + {#each stockList as item, index} + + + + + + + + + + + + + + + + + + + + {/each} + +
+ + + {item?.name?.length > charNumber + ? item?.name?.slice(0, charNumber) + "..." + : item?.name} + + {item?.price} + + {item?.changesPercentage}% + + {@html abbreviateNumberWithColor( + item?.call_volume, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.avg30_call_volume, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.put_volume, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.avg30_put_volume, + false, + true, + )} + + + +
+ +
+ +
+ + +
+ + +
+
+
+
+ +
+
+
+ Bearish: {@html abbreviateNumberWithColor( + item?.premium_ratio[0], + false, + true, + )} +
+
+ Neutral: {@html abbreviateNumberWithColor( + item?.premium_ratio[1], + false, + true, + )} +
+
+ Bullish: {@html abbreviateNumberWithColor( + item?.premium_ratio[2], + false, + true, + )} +
+
+
+
+
+
+
+ +
+
+
+
+
+
+ +