diff --git a/src/routes/market-flow/+page.svelte b/src/routes/market-flow/+page.svelte index 32639385..a9773104 100644 --- a/src/routes/market-flow/+page.svelte +++ b/src/routes/market-flow/+page.svelte @@ -3,7 +3,11 @@ import HoverStockChart from "$lib/components/HoverStockChart.svelte"; import TableHeader from "$lib/components/Table/TableHeader.svelte"; - import { abbreviateNumberWithColor, sectorNavigation } from "$lib/utils"; + import { + abbreviateNumber, + abbreviateNumberWithColor, + sectorNavigation, + } from "$lib/utils"; import InfoModal from "$lib/components/InfoModal.svelte"; import UpgradeToPro from "$lib/components/UpgradeToPro.svelte"; @@ -42,6 +46,35 @@ let originalTopTickers = [...topSectorTickers[selectedSector]]; let displayTopTickers = topSectorTickers[selectedSector]; + function formatDate(dateStr) { + // Parse the input date string + var date = new Date(dateStr); + + // Get month, day, and year + var month = date.getMonth() + 1; // Month starts from 0 + var day = date.getDate(); + var year = date.getFullYear(); + + // Get hours and minutes + var hours = date.getHours(); + var minutes = date.getMinutes(); + + // Determine AM/PM and adjust hours + var ampm = hours >= 12 ? "PM" : "AM"; + hours = hours % 12; + hours = hours === 0 ? 12 : hours; // Convert 0 hours to 12 for AM/PM + + // Add leading zeros if necessary + month = (month < 10 ? "0" : "") + month; + day = (day < 10 ? "0" : "") + day; + minutes = (minutes < 10 ? "0" : "") + minutes; + + // Format the date as MM/DD/YYYY HH:MM AM/PM + var formattedDate = `${month}/${day}/${year} ${hours}:${minutes} ${ampm}`; + + return formattedDate; + } + $: columns = [ { key: "ticker", label: "Symbol", align: "left" }, { key: "name", label: "Name", align: "left" }, @@ -526,6 +559,68 @@ id={"marketTideInfo"} /> +
+
+
+
Date
+
+ {formatDate(marketTideData?.at(-1)?.timestamp)} +
+
+
+ +
+
+
Volume
+
+ {@html abbreviateNumberWithColor( + marketTideData?.at(-1)?.net_volume, + false, + true, + )} +
+
+
+
+
+
+ Net Call Premium +
+
+ {@html abbreviateNumberWithColor( + marketTideData?.at(-1)?.net_call_premium, + false, + true, + )} +
+
+
+
+
+
+ Net Put Premium +
+
+ {@html abbreviateNumberWithColor( + marketTideData?.at(-1)?.net_put_premium, + false, + true, + )} +
+
+
+
+
diff --git a/src/routes/market-flow/sector-flow/+page.svelte b/src/routes/market-flow/sector-flow/+page.svelte index 09e8847f..e12cb854 100644 --- a/src/routes/market-flow/sector-flow/+page.svelte +++ b/src/routes/market-flow/sector-flow/+page.svelte @@ -3,11 +3,7 @@ import HoverStockChart from "$lib/components/HoverStockChart.svelte"; import TableHeader from "$lib/components/Table/TableHeader.svelte"; - import { - abbreviateNumberWithColor, - sectorList, - sectorNavigation, - } from "$lib/utils"; + import { abbreviateNumberWithColor, sectorList } from "$lib/utils"; import InfoModal from "$lib/components/InfoModal.svelte"; import UpgradeToPro from "$lib/components/UpgradeToPro.svelte"; @@ -63,17 +59,34 @@ let originalTopTickers = [...topSectorTickers[selectedSector]]; let displayTopTickers = topSectorTickers[selectedSector]; - $: columns = [ - { key: "ticker", label: "Symbol", align: "left" }, - { key: "name", label: "Name", align: "left" }, - { key: "price", label: "Price", align: "right" }, - { key: "changesPercentage", label: "% Change", align: "right" }, - { key: "call_volume", label: "Call Vol", align: "right" }, - { key: "avg30_call_volume", label: "Avg Call Vol", align: "right" }, - { key: "put_volume", label: "Put Vol", align: "right" }, - { key: "avg30_put_volume", label: "Avg Put Vol", align: "right" }, - { key: "premium_ratio", label: "🐻/🐂 Prem", align: "right" }, - ]; + function formatDate(dateStr) { + // Parse the input date string + var date = new Date(dateStr); + + // Get month, day, and year + var month = date.getMonth() + 1; // Month starts from 0 + var day = date.getDate(); + var year = date.getFullYear(); + + // Get hours and minutes + var hours = date.getHours(); + var minutes = date.getMinutes(); + + // Determine AM/PM and adjust hours + var ampm = hours >= 12 ? "PM" : "AM"; + hours = hours % 12; + hours = hours === 0 ? 12 : hours; // Convert 0 hours to 12 for AM/PM + + // Add leading zeros if necessary + month = (month < 10 ? "0" : "") + month; + day = (day < 10 ? "0" : "") + day; + minutes = (minutes < 10 ? "0" : "") + minutes; + + // Format the date as MM/DD/YYYY HH:MM AM/PM + var formattedDate = `${month}/${day}/${year} ${hours}:${minutes} ${ampm}`; + + return formattedDate; + } $: sortOrders = { rank: { order: "none", type: "number" }, @@ -604,7 +617,67 @@
+
+
+
+
Date
+
+ {formatDate(marketTideData?.at(-1)?.timestamp)} +
+
+
+
+
+
Volume
+
+ {@html abbreviateNumberWithColor( + marketTideData?.at(-1)?.net_volume, + false, + true, + )} +
+
+
+
+
+
+ Net Call Premium +
+
+ {@html abbreviateNumberWithColor( + marketTideData?.at(-1)?.net_call_premium, + false, + true, + )} +
+
+
+
+
+
+ Net Put Premium +
+
+ {@html abbreviateNumberWithColor( + marketTideData?.at(-1)?.net_put_premium, + false, + true, + )} +
+
+
+