increase performance

This commit is contained in:
MuslemRahimi 2025-04-07 10:35:44 +02:00
parent 652c08f556
commit 709a796285

View File

@ -1,12 +1,12 @@
<script lang="ts"> <script lang="ts">
import "../app.css"; import "../app.css";
import "../app.pcss"; import "../app.pcss";
import { partytownSnippet } from "@builder.io/partytown/integration"; //import { partytownSnippet } from "@builder.io/partytown/integration";
import { Toaster } from "svelte-sonner"; import { Toaster } from "svelte-sonner";
import "@bprogress/core/css"; import "@bprogress/core/css";
import { BProgress } from "@bprogress/core"; import { BProgress } from "@bprogress/core";
import { ModeWatcher, setMode, mode } from "mode-watcher"; import { ModeWatcher, setMode, mode } from "mode-watcher";
import { page } from "$app/stores"; import { page } from "$app/stores";
import Footer from "$lib/components/Footer.svelte"; import Footer from "$lib/components/Footer.svelte";
@ -55,7 +55,6 @@
export let data; export let data;
let hideHeader = false; let hideHeader = false;
BProgress.configure({ BProgress.configure({
showSpinner: false, showSpinner: false,
@ -129,13 +128,15 @@
onMount(async () => { onMount(async () => {
if (data?.user?.id) { if (data?.user?.id) {
await loadWorker(); await loadWorker();
} }
await checkMarketHour(); await checkMarketHour();
/*
if ($showCookieConsent === true) { if ($showCookieConsent === true) {
Cookie = (await import("$lib/components/Cookie.svelte")).default; Cookie = (await import("$lib/components/Cookie.svelte")).default;
} }
*/
/* /*
if (window?.innerWidth <= 768) { if (window?.innerWidth <= 768) {
await detectSWUpdate(); await detectSWUpdate();
@ -229,9 +230,7 @@
isAfterMarketClose.set(isAfterMarketCloseValue); isAfterMarketClose.set(isAfterMarketCloseValue);
}; };
async function handleModeChange() {
async function handleModeChange() {
const newMode = $mode === "light" ? "dark" : "light"; const newMode = $mode === "light" ? "dark" : "light";
setMode(newMode); setMode(newMode);
@ -239,7 +238,7 @@
await fetch("/api/theme-mode", { await fetch("/api/theme-mode", {
method: "POST", method: "POST",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
body: JSON.stringify({ mode: newMode }) body: JSON.stringify({ mode: newMode }),
}); });
} catch (error) { } catch (error) {
console.error("Failed to update theme:", error); console.error("Failed to update theme:", error);
@ -249,6 +248,7 @@
<svelte:window bind:innerWidth={$screenWidth} /> <svelte:window bind:innerWidth={$screenWidth} />
<!--
<svelte:head> <svelte:head>
<script> <script>
// Forward the necessary functions to the web worker layer // Forward the necessary functions to the web worker layer
@ -273,12 +273,15 @@
</script> </script>
</svelte:head> </svelte:head>
-->
<ModeWatcher defaultMode={data?.themeMode} /> <ModeWatcher defaultMode={data?.themeMode} />
<div
class="app text-muted dark:text-white {$page?.url?.pathname === '/'
<div class="app text-muted dark:text-white {$page?.url?.pathname === '/' ? 'bg-[#000]' : ''}"> ? 'bg-[#000]'
: ''}"
>
<div class="flex min-h-screen w-full flex-col bg-white dark:bg-default"> <div class="flex min-h-screen w-full flex-col bg-white dark:bg-default">
<div class="w-full"> <div class="w-full">
<div <div
@ -286,7 +289,7 @@
$screenWidth < 640 && $screenWidth < 640 &&
hideHeader hideHeader
? 'invisible -mt-20' ? 'invisible -mt-20'
: ''} top-0 z-40 bg-white dark:bg-default shadow shadow-b shadow-md dark:border-b dark:border-gray-800 flex h-14 items-center gap-4 px-4 sm:h-auto sm:px-6" : ''} top-0 z-40 bg-white dark:bg-default shadow shadow-b shadow-md dark:border-b dark:border-gray-800 flex h-14 items-center gap-4 px-4 sm:h-auto sm:px-6"
> >
<Sheet.Root> <Sheet.Root>
<Sheet.Trigger asChild let:builder> <Sheet.Trigger asChild let:builder>
@ -295,7 +298,9 @@
size="icon" size="icon"
class="bg-white dark:bg-default text-white sm:hover:bg-gray-200 dark:sm:hover:bg-[#18181B] border-none" class="bg-white dark:bg-default text-white sm:hover:bg-gray-200 dark:sm:hover:bg-[#18181B] border-none"
> >
<Menu class="h-5.5 w-5.5 sm:w-7 sm:h-7 text-muted dark:text-white " /> <Menu
class="h-5.5 w-5.5 sm:w-7 sm:h-7 text-muted dark:text-white "
/>
<span class="sr-only">Toggle Menu</span> <span class="sr-only">Toggle Menu</span>
</Button> </Button>
</Sheet.Trigger> </Sheet.Trigger>
@ -303,7 +308,7 @@
side="left" side="left"
class="max-w-screen w-full sm:max-w-xs bg-white dark:bg-[#18181B] overflow-y-auto text-muted dark:text-white" class="max-w-screen w-full sm:max-w-xs bg-white dark:bg-[#18181B] overflow-y-auto text-muted dark:text-white"
> >
<nav class=" grid gap-6 text-lg "> <nav class=" grid gap-6 text-lg">
<Sheet.Close asChild let:builder> <Sheet.Close asChild let:builder>
<Button <Button
builders={[builder]} builders={[builder]}
@ -314,7 +319,7 @@
class="flex items-center gap-4 px-0.5 text-muted dark:text-white text-xl font-semibold" class="flex items-center gap-4 px-0.5 text-muted dark:text-white text-xl font-semibold"
> >
<img <img
class="avatar w-9 sm:w-10 rounded-full " class="avatar w-9 sm:w-10 rounded-full"
src="/pwa-192x192.png" src="/pwa-192x192.png"
alt="Stocknear Logo" alt="Stocknear Logo"
/> />
@ -334,11 +339,13 @@
class="w-full flex flex-row items-center mr-auto mt-5" class="w-full flex flex-row items-center mr-auto mt-5"
> >
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8"
> >
<Home class="h-5.5 w-5.5" /> <Home class="h-5.5 w-5.5" />
</div> </div>
<span class="ml-3 text-muted dark:text-white text-[1rem]">Home</span> <span class="ml-3 text-muted dark:text-white text-[1rem]"
>Home</span
>
</a> </a>
</Button> </Button>
</Sheet.Close> </Sheet.Close>
@ -347,18 +354,18 @@
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Stock class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Stock
<span class="text-muted dark:text-white ml-1 mr-auto">Stocks</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Stocks</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
> >
<Sheet.Close asChild let:builder> <Sheet.Close asChild let:builder>
<div class="flex flex-col items-start"> <div class="flex flex-col items-start">
<Button <Button
builders={[builder]} builders={[builder]}
type="submit" type="submit"
@ -428,8 +435,12 @@
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Layers class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Layers
<span class="text-muted dark:text-white ml-1 mr-auto">ETFs</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>ETFs</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -465,12 +476,16 @@
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center w-full"> <div class="flex flex-row items-center w-full">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Analyst class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Analyst
<span class="text-muted dark:text-white ml-1 mr-auto">Analyst</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Analyst</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -511,8 +526,6 @@
>Analyst Live Flow</a >Analyst Live Flow</a
> >
</Button> </Button>
</div> </div>
</Sheet.Close> </Sheet.Close>
</Accordion.Content> </Accordion.Content>
@ -524,8 +537,12 @@
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Calendar class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Calendar
<span class="text-muted dark:text-white ml-1 mr-auto">Calendar</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Calendar</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -611,14 +628,17 @@
</Accordion.Item> </Accordion.Item>
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center w-full"> <div class="flex flex-row items-center w-full">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<HandShake class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <HandShake
<span class="text-muted dark:text-white ml-1 mr-auto">Congress</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Congress</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -654,16 +674,16 @@
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center w-full"> <div class="flex flex-row items-center w-full">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Flow class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Flow
<span class="text-muted dark:text-white ml-1 mr-auto">Flow Feed</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Flow Feed</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -711,11 +731,13 @@
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center w-full"> <div class="flex flex-row items-center w-full">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Tools class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Tools
class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto" <span class="text-muted dark:text-white ml-1 mr-auto"
>Tools</span >Tools</span
> >
@ -723,10 +745,8 @@
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
> >
<Sheet.Close asChild let:builder>
<Sheet.Close asChild let:builder>
<div class="flex flex-col items-start"> <div class="flex flex-col items-start">
<Button <Button
builders={[builder]} builders={[builder]}
type="submit" type="submit"
@ -738,14 +758,11 @@
>Options Calculator</a >Options Calculator</a
> >
</Button> </Button>
</div> </div>
</Sheet.Close> </Sheet.Close>
<Sheet.Close asChild let:builder> <Sheet.Close asChild let:builder>
<div class="flex flex-col items-start"> <div class="flex flex-col items-start">
<Button <Button
builders={[builder]} builders={[builder]}
type="submit" type="submit"
@ -757,8 +774,6 @@
>POTUS Tracker</a >POTUS Tracker</a
> >
</Button> </Button>
</div> </div>
</Sheet.Close> </Sheet.Close>
</Accordion.Content> </Accordion.Content>
@ -778,7 +793,7 @@
> >
<div class="flex flex-row items-center mr-auto"> <div class="flex flex-row items-center mr-auto">
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white sm:hover:text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white sm:hover:text-muted dark:text-white md:h-8 md:w-8"
> >
<Boxes class="h-5.5 w-5.5" /> <Boxes class="h-5.5 w-5.5" />
</div> </div>
@ -802,11 +817,13 @@
> >
<div class="flex flex-row items-center mr-auto"> <div class="flex flex-row items-center mr-auto">
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white hover:text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white hover:text-muted dark:text-white md:h-8 md:w-8"
> >
<Newspaper class="h-5.5 w-5.5" /> <Newspaper class="h-5.5 w-5.5" />
</div> </div>
<span class="ml-3 text-muted dark:text-white text-[1rem]">News</span> <span class="ml-3 text-muted dark:text-white text-[1rem]"
>News</span
>
</div> </div>
</a> </a>
</Button> </Button>
@ -824,11 +841,12 @@
> >
<div class="flex flex-row items-center mr-auto"> <div class="flex flex-row items-center mr-auto">
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white hover:text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white hover:text-muted dark:text-white md:h-8 md:w-8"
> >
<Gem class="h-5.5 w-5.5" /> <Gem class="h-5.5 w-5.5" />
</div> </div>
<span class="ml-3 text-muted dark:text-white text-[1rem]" <span
class="ml-3 text-muted dark:text-white text-[1rem]"
>Pricing Plan</span >Pricing Plan</span
> >
</div> </div>
@ -846,7 +864,9 @@
src="/pwa-192x192.png" src="/pwa-192x192.png"
alt="Stocknear Logo" alt="Stocknear Logo"
/> />
<span class="text-muted dark:text-white font-semibold ml-2 text-xl">Stocknear</span> <span class="text-muted dark:text-white font-semibold ml-2 text-xl"
>Stocknear</span
>
</a> </a>
<div <div
@ -903,13 +923,14 @@
</DropdownMenu.Item> </DropdownMenu.Item>
</a> </a>
<button on:click={handleModeChange} class="cursor-pointer w-full sm:hover:bg-gray-300 dark:sm:hover:bg-[#18181B] relative flex cursor-default select-none items-center rounded px-2 py-1.5 text-sm outline-hidden data-disabled:pointer-events-none"> <button
on:click={handleModeChange}
<span>{$mode === 'light' ? 'Dark' : 'Light'} Mode</span> class="cursor-pointer w-full sm:hover:bg-gray-300 dark:sm:hover:bg-[#18181B] relative flex cursor-default select-none items-center rounded px-2 py-1.5 text-sm outline-hidden data-disabled:pointer-events-none"
>
<span>{$mode === "light" ? "Dark" : "Light"} Mode</span>
<span class="sr-only">Toggle theme</span> <span class="sr-only">Toggle theme</span>
</button> </button>
<DropdownMenu.Separator /> <DropdownMenu.Separator />
<form class="cursor-pointer" action="/logout" method="POST"> <form class="cursor-pointer" action="/logout" method="POST">
<button <button
@ -920,7 +941,20 @@
<DropdownMenu.Item <DropdownMenu.Item
class="sm:hover:bg-gray-300 dark:sm:hover:bg-[#18181B] cursor-pointer" class="sm:hover:bg-gray-300 dark:sm:hover:bg-[#18181B] cursor-pointer"
> >
<svg class="lucide lucide-log-out mr-2 w-3.5 h-3.5 transform scale-x-[-1]" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" x2="9" y1="12" y2="12"></line></svg> <svg
class="lucide lucide-log-out mr-2 w-3.5 h-3.5 transform scale-x-[-1]"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"
></path><polyline points="16 17 21 12 16 7"
></polyline><line x1="21" x2="9" y1="12" y2="12"
></line></svg
>
<span class="text-start">Logout</span> <span class="text-start">Logout</span>
</DropdownMenu.Item> </DropdownMenu.Item>
</button> </button>
@ -930,12 +964,10 @@
{:else} {:else}
<a <a
href="/login" href="/login"
class="inline-flex items-center justify-center rounded bg-[#3B82F6] dark:bg-[#fff] text-white dark:text-black px-4 py-2 text-sm font-semibold shadow-xs transition-all duration-150 sm:hover:bg-blue-600 dark:sm:hover:bg-gray-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-purple-600" class="inline-flex items-center justify-center rounded bg-[#3B82F6] dark:bg-[#fff] text-white dark:text-black px-4 py-2 text-sm font-semibold shadow-xs transition-all duration-150 sm:hover:bg-blue-600 dark:sm:hover:bg-gray-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-purple-600"
> >
Login Login
</a> </a>
{/if} {/if}
</div> </div>
</div> </div>
@ -958,12 +990,14 @@
src="/pwa-192x192.png" src="/pwa-192x192.png"
alt="Stocknear Logo" alt="Stocknear Logo"
/> />
<span class="text-muted dark:text-white text-xl">Stocknear</span> <span class="text-muted dark:text-white text-xl"
>Stocknear</span
>
</a> </a>
<a href="/" class="flex flex-row items-center ml-9 w-full"> <a href="/" class="flex flex-row items-center ml-9 w-full">
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8"
> >
<Home class="h-5.5 w-5.5" /> <Home class="h-5.5 w-5.5" />
</div> </div>
@ -974,15 +1008,17 @@
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class="text-muted dark:text-white "> <Accordion.Trigger class="text-muted dark:text-white ">
<Stock class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Stock
<span class="text-muted dark:text-white ml-1 mr-auto">Stocks</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Stocks</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
> >
<div class="flex flex-col items-start"> <div class="flex flex-col items-start">
<a <a
href="/industry" href="/industry"
class="text-[1rem] text-muted dark:text-white ml-4 mt-4" class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
@ -1020,8 +1056,12 @@
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Layers class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Layers
<span class="text-muted dark:text-white ml-1 mr-auto">ETFs</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>ETFs</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -1043,12 +1083,16 @@
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center ml-9 w-full mt-3"> <div class="flex flex-row items-center ml-9 w-full mt-3">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Analyst class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Analyst
<span class="text-muted dark:text-white ml-1 mr-auto">Analyst</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Analyst</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -1064,28 +1108,28 @@
class="text-[1rem] text-muted dark:text-white ml-4 mt-4" class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
>Top Analyst Stocks</a >Top Analyst Stocks</a
> >
<a <a
href="/analysts/analyst-flow" href="/analysts/analyst-flow"
class="text-[1rem] text-muted dark:text-white ml-4 mt-4" class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
>Analyst Live Flow</a >Analyst Live Flow</a
> >
</div> </div>
</Accordion.Content> </Accordion.Content>
</Accordion.Item> </Accordion.Item>
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center ml-9 w-full mt-3"> <div class="flex flex-row items-center ml-9 w-full mt-3">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Calendar class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Calendar
<span class="text-muted dark:text-white ml-1 mr-auto">Calendar</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Calendar</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -1119,7 +1163,6 @@
class="text-[1rem] text-muted dark:text-white ml-4 mt-4" class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
>Economic Calendar</a >Economic Calendar</a
> >
</div> </div>
</Accordion.Content> </Accordion.Content>
</Accordion.Item> </Accordion.Item>
@ -1130,8 +1173,12 @@
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<HandShake class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <HandShake
<span class="text-muted dark:text-white ml-1 mr-auto">Congress</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Congress</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
@ -1156,15 +1203,16 @@
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center ml-9 w-full mt-3"> <div class="flex flex-row items-center ml-9 w-full mt-3">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Flow class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Flow
<span class="text-muted dark:text-white ml-1 mr-auto">Flow Feed</span> class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto"
>Flow Feed</span
>
</Accordion.Trigger> </Accordion.Trigger>
<Accordion.Content <Accordion.Content
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
@ -1192,11 +1240,13 @@
</Accordion.Root> </Accordion.Root>
</div> </div>
<div class="flex flex-row items-center ml-9 w-full mt-3"> <div class="flex flex-row items-center ml-9 w-full mt-3">
<Accordion.Root class="w-full"> <Accordion.Root class="w-full">
<Accordion.Item value="item-1"> <Accordion.Item value="item-1">
<Accordion.Trigger class=""> <Accordion.Trigger class="">
<Tools class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1" /> <Tools
class="h-5.5 w-5.5 mr-3 text-muted dark:text-white ml-1"
/>
<span class="text-muted dark:text-white ml-1 mr-auto" <span class="text-muted dark:text-white ml-1 mr-auto"
>Tools</span >Tools</span
> >
@ -1205,9 +1255,7 @@
class="border-l border-gray-500 ml-2 mt-5" class="border-l border-gray-500 ml-2 mt-5"
> >
<div class="flex flex-col items-start"> <div class="flex flex-col items-start">
<a
<a
href="/options-calculator" href="/options-calculator"
class="text-[1rem] text-muted dark:text-white ml-4 mt-4" class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
>Options Calculator</a >Options Calculator</a
@ -1218,25 +1266,24 @@
class="text-[1rem] text-muted dark:text-white ml-4 mt-4" class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
>POTUS Tracker</a >POTUS Tracker</a
> >
</div> </div>
</Accordion.Content> </Accordion.Content>
</Accordion.Item> </Accordion.Item>
</Accordion.Root> </Accordion.Root>
</div> </div>
<a <a
href="/hedge-funds" href="/hedge-funds"
class="flex flex-row items-center ml-9 w-full mt-3" class="flex flex-row items-center ml-9 w-full mt-3"
> >
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8"
> >
<Boxes class="h-5.5 w-5.5" /> <Boxes class="h-5.5 w-5.5" />
</div> </div>
<span class="ml-3 text-muted dark:text-white">Hedge Funds</span> <span class="ml-3 text-muted dark:text-white"
>Hedge Funds</span
>
</a> </a>
<a <a
@ -1244,7 +1291,7 @@
class="flex flex-row items-center ml-9 w-full mt-3" class="flex flex-row items-center ml-9 w-full mt-3"
> >
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8"
> >
<Newspaper class="h-5.5 w-5.5" /> <Newspaper class="h-5.5 w-5.5" />
</div> </div>
@ -1256,11 +1303,13 @@
class="flex flex-row items-center ml-9 w-full mt-3" class="flex flex-row items-center ml-9 w-full mt-3"
> >
<div <div
class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8" class="flex h-9 w-9 items-center justify-center rounded-md text-muted dark:text-white md:h-8 md:w-8"
> >
<Gem class="h-5.5 w-5.5" /> <Gem class="h-5.5 w-5.5" />
</div> </div>
<span class="ml-3 text-muted dark:text-white">Pricing Plan</span> <span class="ml-3 text-muted dark:text-white"
>Pricing Plan</span
>
</a> </a>
{/if} {/if}
</nav> </nav>
@ -1268,10 +1317,8 @@
</div> </div>
<div class="w-full"> <div class="w-full">
<main class="w-full overflow-y-auto sm:p-4"> <main class="w-full overflow-y-auto sm:p-4">
<slot /> <slot />
<Toaster position="top-center" /> <Toaster position="top-center" />
{#if Cookie && $showCookieConsent === true} {#if Cookie && $showCookieConsent === true}
<Cookie /> <Cookie />
@ -1289,7 +1336,7 @@
<style lang="scss"> <style lang="scss">
:root { :root {
--bprogress-color: #00A6F4; --bprogress-color: #00a6f4;
--bprogress-height: 1px; --bprogress-height: 1px;
} }
</style> </style>