diff --git a/src/routes/market-flow/+layout.svelte b/src/routes/market-flow/+layout.svelte index 1f6c188d..4af6c29a 100644 --- a/src/routes/market-flow/+layout.svelte +++ b/src/routes/market-flow/+layout.svelte @@ -7,7 +7,7 @@ const tabs = [ { - title: "Market Flow", + title: "Overview", path: "/market-flow", }, { @@ -48,8 +48,6 @@ class="relative flex justify-center items-start overflow-hidden w-full" >
- diff --git a/src/routes/market-flow/+layout.server.ts b/src/routes/market-flow/+page.server.ts similarity index 100% rename from src/routes/market-flow/+layout.server.ts rename to src/routes/market-flow/+page.server.ts diff --git a/src/routes/market-flow/+page.svelte b/src/routes/market-flow/+page.svelte index 8288d2d4..74ef722f 100644 --- a/src/routes/market-flow/+page.svelte +++ b/src/routes/market-flow/+page.svelte @@ -5,6 +5,7 @@ import TableHeader from "$lib/components/Table/TableHeader.svelte"; import { abbreviateNumberWithColor } from "$lib/utils"; import InfoModal from "$lib/components/InfoModal.svelte"; + import UpgradeToPro from "$lib/components/UpgradeToPro.svelte"; import { Chart } from "svelte-echarts"; @@ -366,7 +367,7 @@ } return ""; }, - interval: "auto", // Show label every 30 minutes (29 intervals between) + interval: 30, }, }, @@ -503,21 +504,18 @@
{#if optionsData !== null} -
- - Learn more"} - id={"marketTideInfo"} - /> -
+

-
+
Last Updated: {formatDate( findLastNonNull(marketTideData, "time"), )} diff --git a/src/routes/market-flow/sector-flow/+page.server.ts b/src/routes/market-flow/sector-flow/+page.server.ts new file mode 100644 index 00000000..89a0ae4f --- /dev/null +++ b/src/routes/market-flow/sector-flow/+page.server.ts @@ -0,0 +1,21 @@ +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(); + return output; + }; + + // Make sure to return a promise + return { + getData: await getData(), + }; +}; diff --git a/src/routes/market-flow/sector-flow/+page.svelte b/src/routes/market-flow/sector-flow/+page.svelte index 3494289b..4dcf1d00 100644 --- a/src/routes/market-flow/sector-flow/+page.svelte +++ b/src/routes/market-flow/sector-flow/+page.svelte @@ -1,5 +1,5 @@ - - - - - {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Live - Market Flow · Stocknear - - - - - - - - - - - - - - - +
-
+
{#if optionsData !== null} -
-
- - Learn more`} - id={"sectorTideInfo"} - /> -
+

+ {selectedSector} Flow tracks sector stocks, net + call/put premiums, and price movements to gauge market sentiment + and momentum in real time. +

-
-
- - - - - +
+ + +
+ {selectedSector} + + + + + + Select Sector + + + + {#each sectorList as sector} + (selectedSector = sector)} + class="cursor-pointer hover:bg-primary" + > + {sector} + + {/each} + + +
-
-
-
-
Date
-
- {formatDate(findLastNonNull(marketTideData, "timestamp"))} -
-
-
-
-
-
- Volume -
-
+
+ Last Updated: {formatDate( + findLastNonNull(marketTideData, "time"), + )} +
+
+
+
+ Volume + +
+
+ {@html abbreviateNumberWithColor( findLastNonNull(marketTideData, "net_volume"), false, true, - )} -
+ )}
-
-
-
- Net Call Premium -
-
- {@html abbreviateNumberWithColor( + +
+
+ Net Call Prem + +
+
+ {@html abbreviateNumberWithColor( findLastNonNull(marketTideData, "net_call_premium"), false, true, - )} -
+ )}
-
-
-
- Net Put Premium -
-
- {@html abbreviateNumberWithColor( + +
+
+ Net Put Prem + +
+
+ {@html abbreviateNumberWithColor( findLastNonNull(marketTideData, "net_put_premium"), false, true, - )} -
+ )}
-
+ +
{#if isLoading}
{/if} -
-
-
-
-
- -
- - - - - - {#each displayTopTickers as item, index} - - - - - - - - - - - - - - - - - - - - {/each} - -
- {item?.rank} - - - - {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} -
-
+
-