From d2bddf9c3cf9a4f61a80323fc8da00a449d8a63c Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Wed, 27 Nov 2024 21:34:30 +0100 Subject: [PATCH] add websocket to Table component --- src/lib/components/Table/Table.svelte | 167 ++++++++++++++++++++++- src/lib/utils.ts | 52 +++++++ src/routes/+layout.svelte | 49 +++++++ src/routes/watchlist/+layout.ts | 54 -------- src/routes/watchlist/stocks/+page.svelte | 36 ++--- 5 files changed, 270 insertions(+), 88 deletions(-) delete mode 100644 src/routes/watchlist/+layout.ts diff --git a/src/lib/components/Table/Table.svelte b/src/lib/components/Table/Table.svelte index 069f2c2d..8ff22d23 100644 --- a/src/lib/components/Table/Table.svelte +++ b/src/lib/components/Table/Table.svelte @@ -1,7 +1,11 @@ diff --git a/src/routes/watchlist/+layout.ts b/src/routes/watchlist/+layout.ts deleted file mode 100644 index e5b0929c..00000000 --- a/src/routes/watchlist/+layout.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - isOpen, - isAfterMarketClose, - isBeforeMarketOpen, - isWeekend, -} from "$lib/store"; - -const checkMarketHour = async () => { - const holidays = [ - "2024-01-01", - "2024-01-15", - "2024-02-19", - "2024-03-29", - "2024-05-27", - "2024-06-19", - "2024-07-04", - "2024-09-02", - "2024-11-28", - "2024-12-25", - ]; - const currentDate = new Date().toISOString().split("T")[0]; - - // Get the current time in the ET time zone - const etTimeZone = "America/New_York"; - const currentTime = new Date().toLocaleString("en-US", { - timeZone: etTimeZone, - }); - - // Determine if the NYSE is currently open or closed - const currentHour = new Date(currentTime).getHours(); - const isWeekendValue = - new Date(currentTime).getDay() === 6 || - new Date(currentTime).getDay() === 0; - const isBeforeMarketOpenValue = - currentHour < 9 || - (currentHour === 9 && new Date(currentTime).getMinutes() < 30); - const isAfterMarketCloseValue = currentHour >= 16; - - isOpen.set( - !( - isWeekendValue || - isBeforeMarketOpenValue || - isAfterMarketCloseValue || - holidays?.includes(currentDate) - ), - ); - isWeekend.set(isWeekendValue); - isBeforeMarketOpen.set(isBeforeMarketOpenValue); - isAfterMarketClose.set(isAfterMarketCloseValue); -}; - -export const load = async ({ params, data }) => { - await checkMarketHour(); -}; \ No newline at end of file diff --git a/src/routes/watchlist/stocks/+page.svelte b/src/routes/watchlist/stocks/+page.svelte index 22296015..d3283849 100644 --- a/src/routes/watchlist/stocks/+page.svelte +++ b/src/routes/watchlist/stocks/+page.svelte @@ -1,6 +1,6 @@