From 69f4984a94be26ef77de8aaff212c4855139a8a9 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Tue, 16 Jul 2024 11:59:44 +0200 Subject: [PATCH] update options zero dte page --- src/routes/+layout.svelte | 2 +- src/routes/options-zero-dte/+page.svelte | 1278 +++++++++++----------- 2 files changed, 661 insertions(+), 619 deletions(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 12fb005c..b74fcec0 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -125,7 +125,7 @@ async function detectSWUpdate() { } } - $: hideFooter = $page.url.pathname.startsWith('/options-flow') || $page.url.pathname.startsWith('/login') || $page.url.pathname.startsWith('/register') || $page.url.pathname.startsWith('/etf') || $page.url.pathname.startsWith('/stock-splits-calendar') || $page.url.pathname.startsWith('/dividends-calendar') || $page.url.pathname.startsWith('/earnings-calendar') || $page.url.pathname.startsWith('/market-mover') || $page.url.pathname.startsWith('/market-news') || $page.url.pathname.startsWith('/portfolio') || $page.url.pathname.startsWith('/hedge-funds') || $page.url.pathname.startsWith('/watchlist') || $page.url.pathname.startsWith('/stocks') || $page.url.pathname.startsWith('/community') || $page.url.pathname.startsWith('/stock-screener') || $page.url.pathname.startsWith('/price-alert'); + $: hideFooter = $page.url.pathname.startsWith('/options-flow') || $page.url.pathname.startsWith('/options-zero-dte') || $page.url.pathname.startsWith('/login') || $page.url.pathname.startsWith('/register') || $page.url.pathname.startsWith('/etf') || $page.url.pathname.startsWith('/stock-splits-calendar') || $page.url.pathname.startsWith('/dividends-calendar') || $page.url.pathname.startsWith('/earnings-calendar') || $page.url.pathname.startsWith('/market-mover') || $page.url.pathname.startsWith('/market-news') || $page.url.pathname.startsWith('/portfolio') || $page.url.pathname.startsWith('/hedge-funds') || $page.url.pathname.startsWith('/watchlist') || $page.url.pathname.startsWith('/stocks') || $page.url.pathname.startsWith('/community') || $page.url.pathname.startsWith('/stock-screener') || $page.url.pathname.startsWith('/price-alert'); $: hideSidebar = $page.url.pathname.startsWith('/contact') || $page.url.pathname.startsWith('/imprint') || $page.url.pathname.startsWith('/privacy-policy') || $page.url.pathname.startsWith('/terms-of-use') || $page.url.pathname.startsWith('/about') || $page.url.pathname.startsWith('/community/create-post') || $page.url.pathname.startsWith('/login') || $page.url.pathname.startsWith('/register') diff --git a/src/routes/options-zero-dte/+page.svelte b/src/routes/options-zero-dte/+page.svelte index cba68adc..72a8f080 100644 --- a/src/routes/options-zero-dte/+page.svelte +++ b/src/routes/options-zero-dte/+page.svelte @@ -1,42 +1,53 @@ - + + + + + + + + + + + {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ''} Options Flow Feed · stocknear + + + + + + + + + + + + + + + + + + +
- - - + +
- - - - -{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ''} Options 0DTE Flow Feed · stocknear - - - - - - - - - - - - - - - - - -
- - - -
-
- - -
-
-

- 0DTE Options Flow -

-
- - - Realtime update of same day expiration options contracts from large institutional traders and hedge funds. - - - - -
- - - - - -
- - - -
- - - -
-
{#if !$isOpen} - +
Live flow of {new Date(optionList?.at(0)?.date ?? null)?.toLocaleString('en-US', { month: 'short', day: 'numeric', year: 'numeric', daySuffix: '2-digit' })} (NYSE Time) - +
{/if} - - -
- - - - - - Paused - - - - - -
- - Live Flow - -
- - - - -
- -
- - - - - - {#if isLoaded } - -
-
- -
-
- Flow Sentiment - {flowSentiment} -
- -
- - -
-
- Put/Call - - {putCallRatio?.toFixed(3)} +
+ + +
+ + + + + Paused -
- -
- - - - - - - - - -
- {putCallRatio?.toFixed(2)} + + + + + +
+ + Live Flow +
-
- - -
- - -
-
- Call Flow - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(displayCallVolume)} - -
- -
- - - - - - - - - -
- {callPercentage}% + +
-
- -
- - -
-
- Put Flow - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(displayPutVolume)} - -
- -
- - - - - - - - - -
- {putPercentage}% -
-
- - -
- - {#if showMore} - -
-
- Most Traded Option - - - {mostFrequentTicker?.ticker} - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(mostFrequentTicker?.count)} - -
-
- - - -
-
- Highest Premium - - - {highestPremiumTicker?.ticker} - - ${new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(highestPremiumTicker?.costBasis)} - -
-
- - - -
-
- Highest Volume - - - {highestVolumeTicker?.ticker} - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(highestVolumeTicker?.volume)} - -
-
- - - -
-
- Highest Open Interest - - - {highestOpenInterestTicker?.ticker} - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(highestOpenInterestTicker?.openInterest)} - -
-
- - - {/if} - -
-
- - - - - - - - {#if rawData?.length !== 0} -
-
-
    -
  • - - {#if notFound === true} - - No Results Found - - {/if} -
  • -
+
+
+
+ + {#if notFound === true} + + No Results Found + + {/if} +
+ + + +
- - - - -
- - - -
- - - - - - - - - - - - - - - - - - {#each optionList as item,index} - - handleViewData(item)} class="w-full odd:bg-[#27272A] cursor-pointer {index+1 === optionList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {/each} - -
TimeSymbolStrikeC/PSent.SpotPricePrem.TypeVol.OI
- {formatTime(item?.time)} - assetSelector(item?.ticker, item?.assetType)} class="{index % 2 ? 'bg-[#09090B]' : 'bg-[#27272A]'} text-blue-400 text-start font-normal"> - {item?.ticker} - - {item?.strike_price} - - {item?.put_call} - - {item?.sentiment} - - {item?.underlying_price} - - {item?.price} - - {abbreviateNumber(item?.cost_basis)} - - {item?.type} - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(item?.volume)} - - {new Intl.NumberFormat("en", { - minimumFractionDigits: 0, - maximumFractionDigits: 0 - }).format(item?.open_interest)} -
- - - - -
- -
- - - - {:else} -
- - No 0DTE Contracts filed yet! +
- {/if} + + + - {:else} -
-
- -
-
+ + {#if isLoaded } - {/if} -
+ +
+
+ +
+
+ Flow Sentiment + {flowSentiment} +
+ +
+ + +
+
+ Put/Call + + {putCallRatio?.toFixed(3)} + +
+ +
+ + + + + + + + + +
+ {putCallRatio?.toFixed(2)} +
+
+ -
+
+ + +
+
+ Call Flow + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(displayCallVolume)} + +
+ +
+ + + + + + + + + +
+ {callPercentage}% +
+
+ +
+ + +
+
+ Put Flow + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(displayPutVolume)} + +
+ +
+ + + + + + + + + +
+ {putPercentage}% +
+
+ +
+ + + {#if showMore} + +
+
+ Most Traded Option + + + {mostFrequentTicker?.ticker} + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(mostFrequentTicker?.count)} + +
+
+ + + +
+
+ Highest Premium + + + {highestPremiumTicker?.ticker} + + ${new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(highestPremiumTicker?.costBasis)} + +
+
+ + + +
+
+ Highest Volume + + + {highestVolumeTicker?.ticker} + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(highestVolumeTicker?.volume)} + +
+
+ + + +
+
+ Highest Open Interest + + + {highestOpenInterestTicker?.ticker} + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(highestOpenInterestTicker?.openInterest)} + +
+
+ + + {/if} + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + {#each optionList as item,index} + + handleViewData(item)} class="w-full odd:bg-[#27272A] cursor-pointer {index+1 === optionList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/each} + +
TimeSymbolStrikeC/PSent.SpotPricePrem.TypeVolOI
+ {formatTime(item?.time)} + assetSelector(item?.ticker, item?.assetType)} class="{index % 2 ? 'bg-[#09090B]' : 'bg-[#27272A]'} text-blue-400 text-start font-normal"> + {item?.ticker} + + {item?.strike_price} + + {item?.put_call} + + {item?.sentiment} + + {item?.underlying_price} + + {item?.price} + + {abbreviateNumber(item?.cost_basis)} + + {item?.type} + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(item?.volume)} + + {new Intl.NumberFormat("en", { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }).format(item?.open_interest)} +
+ + + +
+ +
+ + + {:else} +
+
+ +
+
+ + {/if} + + +
+ + + @@ -1021,3 +1062,4 @@ const debouncedHandleInput = debounce(handleInput, 200); +