From 392399fe9a0c0728e3ed7d2ddcbed62bc88656d9 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Thu, 2 Jan 2025 19:11:07 +0100 Subject: [PATCH] update market flow page --- .../{+page.server.ts => +layout.server.ts} | 0 src/routes/market-flow/+layout.svelte | 137 +++ src/routes/market-flow/+page.svelte | 534 ++-------- .../market-flow/sector-flow/+page.svelte | 990 ++++++++++++++++++ src/routes/market-news/+layout.svelte | 1 - 5 files changed, 1239 insertions(+), 423 deletions(-) rename src/routes/market-flow/{+page.server.ts => +layout.server.ts} (100%) create mode 100644 src/routes/market-flow/+layout.svelte create mode 100644 src/routes/market-flow/sector-flow/+page.svelte diff --git a/src/routes/market-flow/+page.server.ts b/src/routes/market-flow/+layout.server.ts similarity index 100% rename from src/routes/market-flow/+page.server.ts rename to src/routes/market-flow/+layout.server.ts diff --git a/src/routes/market-flow/+layout.svelte b/src/routes/market-flow/+layout.svelte new file mode 100644 index 00000000..15f1bda8 --- /dev/null +++ b/src/routes/market-flow/+layout.svelte @@ -0,0 +1,137 @@ + + + + + + + + +
+ + +
+
+
+
+

+ {activeIdx === 0 ? "Market Flow" : "Sector Flow"} +

+ + + + + + +
+ +
+
+
+
diff --git a/src/routes/market-flow/+page.svelte b/src/routes/market-flow/+page.svelte index d1fa4d4e..45352f8f 100644 --- a/src/routes/market-flow/+page.svelte +++ b/src/routes/market-flow/+page.svelte @@ -42,7 +42,7 @@ let sectorData = data?.getData?.sectorData || []; let topSectorTickers = data?.getData?.topSectorTickers || {}; let marketTideData = data?.getData?.marketTide || []; - let selectedSector = "Technology"; + let selectedSector = "SPY"; let originalData = [...sectorData]; // Unaltered copy of raw data let stockList = sectorData ?? []; @@ -509,32 +509,13 @@ -
- - +
-
-
-

- Market Flow -

-

- The Market Flow provides a high level options overview of the - market. -

-
- +
{#if optionsData !== null && data?.user?.tier === "Pro"}
@@ -572,425 +553,134 @@
{/if} -
-
-
-
- - - - - - {#each stockList as item, index} - + - - - - - - - - - - - - - - - - - - {/each} - -
- - - listItem?.title === item?.name, - )?.link} - class="sm:hover:underline sm:hover:underline-offset-4 text-white" - > - {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, - )} -
-
-
-
-
-
-
- -
- {#if data?.user?.tier === "Pro"} -
-
-
- - + Top SPY Stocks by Net Premium + + +
-
- - - - - - - Select Sector - - - - {#each sectorList as sector} - (selectedSector = sector)} - class="cursor-pointer hover:bg-primary" + + + + + listItem?.title === item?.name, + )?.link} + class="sm:hover:underline sm:hover:underline-offset-4 text-white" > - {sector} - - {/each} - - - -
-
-
+ {item?.name} + + -
- - - - - - {#each displayTopTickers as item, index} - - - - - - + {item?.price} + - + - + + + - - - - - - - - - {/each} - -
- {item?.rank} - - - - listItem?.title === item?.name, - )?.link} - class="sm:hover:underline sm:hover:underline-offset-4 text-white" + - {item?.name} - - - {item?.price} - + {item?.changesPercentage}% + - {item?.changesPercentage}% - + {@html abbreviateNumberWithColor( + item?.netPremium, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.netCallPremium, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.netPutPremium, + false, + true, + )} + - {@html abbreviateNumberWithColor( - item?.netPremium, - false, - true, - )} - - {@html abbreviateNumberWithColor( - item?.netCallPremium, - false, - true, - )} - - {@html abbreviateNumberWithColor( - item?.netPutPremium, - false, - true, - )} - - {item?.gexRatio} - - {@html abbreviateNumberWithColor( - item?.gexNetChange, - false, - true, - )} - - {item?.ivRank} -
-
-
- {/if} - - +
diff --git a/src/routes/market-flow/sector-flow/+page.svelte b/src/routes/market-flow/sector-flow/+page.svelte new file mode 100644 index 00000000..acfa6477 --- /dev/null +++ b/src/routes/market-flow/sector-flow/+page.svelte @@ -0,0 +1,990 @@ + + + + + + + {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Live + Market Flow · Stocknear + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ {#if optionsData !== null && data?.user?.tier === "Pro"} +
+
+ + Learn more"} + id={"marketTideInfo"} + /> +
+ +
+
+ + + + + + + Select Sector + + + + {#each sectorList as sector} + (selectedSector = sector)} + class="cursor-pointer hover:bg-primary" + > + {sector} + + {/each} + + + +
+
+
+ +
+
+ {#if isLoading} +
+
+ +
+
+ {:else} + + {/if} +
+
+ {/if} +
+
+ + +
+
+
+ + + + + + {#each stockList as item, index} + + + + + + + + + + + + + + + + + + + + {/each} + +
+ + + listItem?.title === item?.name, + )?.link} + class="sm:hover:underline sm:hover:underline-offset-4 text-white" + > + {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, + )} +
+
+
+
+
+
+
+ +
+ {#if data?.user?.tier === "Pro"} +
+
+
+ + +
+ +
+
+ + + + + + + Select Sector + + + + {#each sectorList as sector} + (selectedSector = sector)} + class="cursor-pointer hover:bg-primary" + > + {sector} + + {/each} + + + +
+
+
+ +
+ + + + + + {#each displayTopTickers as item, index} + + + + + + + + + + + + + + + + + + + + {/each} + +
+ {item?.rank} + + + + listItem?.title === item?.name, + )?.link} + class="sm:hover:underline sm:hover:underline-offset-4 text-white" + > + {item?.name} + + + {item?.price} + + {item?.changesPercentage}% + + {@html abbreviateNumberWithColor( + item?.netPremium, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.netCallPremium, + false, + true, + )} + + {@html abbreviateNumberWithColor( + item?.netPutPremium, + false, + true, + )} + + {item?.gexRatio} + + {@html abbreviateNumberWithColor( + item?.gexNetChange, + false, + true, + )} + + {item?.ivRank} +
+
+
+ {/if} +
+
+
+
+
+ + diff --git a/src/routes/market-news/+layout.svelte b/src/routes/market-news/+layout.svelte index 3a79c341..5536afdd 100644 --- a/src/routes/market-news/+layout.svelte +++ b/src/routes/market-news/+layout.svelte @@ -1,6 +1,5 @@