update economic calendar
This commit is contained in:
parent
9c97fff531
commit
10c1b9f450
@ -540,6 +540,7 @@
|
|||||||
>Economic Calendar</a
|
>Economic Calendar</a
|
||||||
>
|
>
|
||||||
</Button>
|
</Button>
|
||||||
|
<!--
|
||||||
<Button
|
<Button
|
||||||
builders={[builder]}
|
builders={[builder]}
|
||||||
type="submit"
|
type="submit"
|
||||||
@ -551,7 +552,7 @@
|
|||||||
>Economic Indicator</a
|
>Economic Indicator</a
|
||||||
>
|
>
|
||||||
</Button>
|
</Button>
|
||||||
<!--
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
builders={[builder]}
|
builders={[builder]}
|
||||||
@ -1063,12 +1064,13 @@
|
|||||||
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
|
||||||
>
|
>
|
||||||
|
<!--
|
||||||
<a
|
<a
|
||||||
href="/economic-indicator"
|
href="/economic-indicator"
|
||||||
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 Indicator</a
|
>Economic Indicator</a
|
||||||
>
|
>
|
||||||
<!--
|
|
||||||
<a
|
<a
|
||||||
href="/stock-splits-calendar"
|
href="/stock-splits-calendar"
|
||||||
class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
|
class="text-[1rem] text-muted dark:text-white ml-4 mt-4"
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { format, startOfWeek, addDays, addWeeks, subWeeks } from "date-fns";
|
import { format, startOfWeek, addDays, addWeeks, subWeeks } from "date-fns";
|
||||||
import { screenWidth, numberOfUnreadNotification } from "$lib/store";
|
import { screenWidth } from "$lib/store";
|
||||||
import { abbreviateNumber, listOfRelevantCountries } from "$lib/utils";
|
import { abbreviateNumber, listOfRelevantCountries } from "$lib/utils";
|
||||||
import ArrowLogo from "lucide-svelte/icons/move-up-right";
|
import ArrowLogo from "lucide-svelte/icons/move-up-right";
|
||||||
import * as DropdownMenu from "$lib/components/shadcn/dropdown-menu/index.js";
|
import * as DropdownMenu from "$lib/components/shadcn/dropdown-menu/index.js";
|
||||||
@ -314,7 +314,7 @@
|
|||||||
>
|
>
|
||||||
<main class="w-full lg:w-3/4 lg:pr-5">
|
<main class="w-full lg:w-3/4 lg:pr-5">
|
||||||
<div class="mb-6 border-b-[2px]">
|
<div class="mb-6 border-b-[2px]">
|
||||||
<h1 class="mb-1 text-white text-2xl sm:text-3xl font-bold">
|
<h1 class="mb-1 text-2xl sm:text-3xl font-bold">
|
||||||
Economic Calendar
|
Economic Calendar
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
@ -331,7 +331,7 @@
|
|||||||
on:click={() => changeWeek("previous")}
|
on:click={() => changeWeek("previous")}
|
||||||
class="{previousMax
|
class="{previousMax
|
||||||
? 'opacity-80'
|
? 'opacity-80'
|
||||||
: ''} hidden sm:flex h-16 w-48 cursor-pointer border m-auto flex bg-primary border border-gray-600 mb-3"
|
: ''} hidden sm:flex h-16 w-48 cursor-pointer border m-auto flex bg-gray-200 dark:bg-primary border border-gray-300 dark:border-gray-600 mb-3"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="w-6 h-6 m-auto rotate-180"
|
class="w-6 h-6 m-auto rotate-180"
|
||||||
@ -339,14 +339,14 @@
|
|||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
>
|
>
|
||||||
<path
|
<path
|
||||||
fill="white"
|
fill="currentColor"
|
||||||
d="M8.025 22L6.25 20.225L14.475 12L6.25 3.775L8.025 2l10 10l-10 10Z"
|
d="M8.025 22L6.25 20.225L14.475 12L6.25 3.775L8.025 2l10 10l-10 10Z"
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
{#each displayWeekData as day, index (formattedWeekday[index])}
|
{#each displayWeekData as day, index (formattedWeekday[index])}
|
||||||
<div
|
<div
|
||||||
class="w-full text-white {index === selectedWeekday
|
class="w-full {index === selectedWeekday
|
||||||
? ''
|
? ''
|
||||||
: 'hidden sm:block'}"
|
: 'hidden sm:block'}"
|
||||||
>
|
>
|
||||||
@ -354,8 +354,8 @@
|
|||||||
on:click={() => toggleDate(index)}
|
on:click={() => toggleDate(index)}
|
||||||
class="m-auto w-full cursor-pointer h-16 {index ===
|
class="m-auto w-full cursor-pointer h-16 {index ===
|
||||||
selectedWeekday
|
selectedWeekday
|
||||||
? 'bg-white text-black font-semibold'
|
? 'bg-gray-200 dark:bg-white text-black font-semibold'
|
||||||
: ''} rounded sm:rounded-none flex bg-default border border-gray-600 mb-3"
|
: ''} rounded-md sm:rounded-none flex dark:bg-default border border-gray-300 dark:border-gray-600 mb-3"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex flex-row justify-center items-center w-full"
|
class="flex flex-row justify-center items-center w-full"
|
||||||
@ -406,7 +406,7 @@
|
|||||||
on:click={() => changeWeek("next")}
|
on:click={() => changeWeek("next")}
|
||||||
class="{nextMax
|
class="{nextMax
|
||||||
? 'opacity-80'
|
? 'opacity-80'
|
||||||
: ''} hidden sm:flex h-16 w-48 cursor-pointer border m-auto flex bg-primary border border-gray-600 mb-3"
|
: ''} hidden sm:flex h-16 w-48 cursor-pointer border m-auto flex bg-gray-200 dark:bg-primary border border-gray-300 dark:border-gray-600 mb-3"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="w-6 h-6 m-auto"
|
class="w-6 h-6 m-auto"
|
||||||
@ -414,7 +414,7 @@
|
|||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
>
|
>
|
||||||
<path
|
<path
|
||||||
fill="white"
|
fill="currentColor"
|
||||||
d="M8.025 22L6.25 20.225L14.475 12L6.25 3.775L8.025 2l10 10l-10 10Z"
|
d="M8.025 22L6.25 20.225L14.475 12L6.25 3.775L8.025 2l10 10l-10 10Z"
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
@ -432,9 +432,9 @@
|
|||||||
<DropdownMenu.Trigger asChild let:builder>
|
<DropdownMenu.Trigger asChild let:builder>
|
||||||
<Button
|
<Button
|
||||||
builders={[builder]}
|
builders={[builder]}
|
||||||
class="border-gray-600 border bg-default sm:hover:bg-primary ease-out flex flex-row justify-between items-center px-3 py-2 text-white rounded-md truncate"
|
class="border-gray-300 dark:border-gray-600 border border-gray-300 shadow-sm sm:hover:bg-gray-100 dark:sm:hover:bg-primary ease-out flex flex-row justify-between items-center px-3 py-2 rounded-md truncate"
|
||||||
>
|
>
|
||||||
<span class="truncate text-white">Filter Country</span>
|
<span class="truncate">Filter Country</span>
|
||||||
<svg
|
<svg
|
||||||
class="-mr-1 ml-1 h-5 w-5 xs:ml-2 inline-block"
|
class="-mr-1 ml-1 h-5 w-5 xs:ml-2 inline-block"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
@ -462,18 +462,20 @@
|
|||||||
bind:value={searchQuery}
|
bind:value={searchQuery}
|
||||||
on:input={handleInput}
|
on:input={handleInput}
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
class="absolute sticky w-full border-0 bg-default border-b border-gray-200 focus:border-gray-200 focus:ring-0 text-white placeholder:text-gray-300"
|
class="absolute sticky w-full border-0 dark:bg-default border-b border-gray-200 focus:border-gray-200 focus:ring-0 placeholder-gray-500 dark:placeholder:text-gray-300"
|
||||||
type="search"
|
type="search"
|
||||||
placeholder="Search..."
|
placeholder="Search..."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<DropdownMenu.Group>
|
<DropdownMenu.Group>
|
||||||
{#each searchQuery.length > 0 ? testList : listOfRelevantCountries as item}
|
{#each searchQuery.length > 0 ? testList : listOfRelevantCountries as item}
|
||||||
<DropdownMenu.Item class="sm:hover:bg-primary">
|
<DropdownMenu.Item
|
||||||
|
class="sm:hover:bg-gray-300 dark:sm:hover:bg-primary"
|
||||||
|
>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<label
|
<label
|
||||||
on:click={() => handleChangeValue(item)}
|
on:click={() => handleChangeValue(item)}
|
||||||
class="cursor-pointer text-white"
|
class="cursor-pointer"
|
||||||
for={item}
|
for={item}
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -493,11 +495,9 @@
|
|||||||
<DropdownMenu.Trigger asChild let:builder>
|
<DropdownMenu.Trigger asChild let:builder>
|
||||||
<Button
|
<Button
|
||||||
builders={[builder]}
|
builders={[builder]}
|
||||||
class="border-gray-600 border bg-default sm:hover:bg-primary ease-out flex flex-row justify-between items-center px-3 py-2 text-white rounded-md truncate"
|
class="border-gray-300 dark:border-gray-600 border bg-white dark:bg-default sm:hover:bg-gray-300 dark:sm:hover:bg-primary ease-out flex flex-row justify-between items-center px-3 py-2 rounded-md truncate"
|
||||||
>
|
|
||||||
<span class="truncate text-white"
|
|
||||||
>Filter Importance</span
|
|
||||||
>
|
>
|
||||||
|
<span class="truncate">Filter Importance</span>
|
||||||
<svg
|
<svg
|
||||||
class="-mr-1 ml-1 h-5 w-5 xs:ml-2 inline-block"
|
class="-mr-1 ml-1 h-5 w-5 xs:ml-2 inline-block"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
@ -523,11 +523,13 @@
|
|||||||
></div>
|
></div>
|
||||||
<DropdownMenu.Group>
|
<DropdownMenu.Group>
|
||||||
{#each [1, 2, 3] as i}
|
{#each [1, 2, 3] as i}
|
||||||
<DropdownMenu.Item class="sm:hover:bg-primary">
|
<DropdownMenu.Item
|
||||||
|
class="sm:hover:bg-gray-300 dark:sm:hover:bg-primary"
|
||||||
|
>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<label
|
<label
|
||||||
on:click={() => handleChangeValue(i)}
|
on:click={() => handleChangeValue(i)}
|
||||||
class="flex flex-row items-center cursor-pointer text-white"
|
class="flex flex-row items-center cursor-pointer"
|
||||||
for={i}
|
for={i}
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
@ -562,7 +564,7 @@
|
|||||||
{#if filterList.length !== 0}
|
{#if filterList.length !== 0}
|
||||||
<Button
|
<Button
|
||||||
on:click={handleReset}
|
on:click={handleReset}
|
||||||
class="w-fit border-gray-600 border bg-default sm:hover:bg-primary ease-out flex flex-row justify-start items-center px-3 py-2 text-white rounded-md truncate"
|
class="w-fit border-gray-300 dark:border-gray-600 border shadow-sm bg-white dark:bg-default sm:hover:bg-gray-300 dark:sm:hover:bg-primary ease-out flex flex-row justify-start items-center px-3 py-2 rounded-md truncate"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@ -591,7 +593,7 @@
|
|||||||
{#if index === selectedWeekday}
|
{#if index === selectedWeekday}
|
||||||
{#if day?.length !== 0}
|
{#if day?.length !== 0}
|
||||||
<div class="flex flex-row items-center mt-5">
|
<div class="flex flex-row items-center mt-5">
|
||||||
<h2 class="font-semibold text-white text-xl">
|
<h2 class="font-semibold text-xl">
|
||||||
{formattedWeekday[index]?.split(", ")[1]} · {day?.length}
|
{formattedWeekday[index]?.split(", ")[1]} · {day?.length}
|
||||||
Events
|
Events
|
||||||
</h2>
|
</h2>
|
||||||
@ -599,9 +601,9 @@
|
|||||||
<div
|
<div
|
||||||
class="ml-auto text-[1rem] sm:text-lg flex flex-row items-center relative block rounded-md px-2 py-1 focus:outline-hidden"
|
class="ml-auto text-[1rem] sm:text-lg flex flex-row items-center relative block rounded-md px-2 py-1 focus:outline-hidden"
|
||||||
>
|
>
|
||||||
<span class="text-white">Filters</span>
|
<span class="">Filters</span>
|
||||||
<span
|
<span
|
||||||
class="ml-2 rounded-full avatar w-5 h-5 text-xs font-semibold text-white text-center shrink-0 flex items-center justify-center bg-red-500"
|
class="ml-2 rounded-full avatar w-5 h-5 text-xs font-semibold text-center shrink-0 flex items-center justify-center bg-red-500"
|
||||||
>
|
>
|
||||||
{filterList.length}
|
{filterList.length}
|
||||||
</span>
|
</span>
|
||||||
@ -611,7 +613,7 @@
|
|||||||
|
|
||||||
<div class="w-full overflow-x-auto no-scrollbar">
|
<div class="w-full overflow-x-auto no-scrollbar">
|
||||||
<table
|
<table
|
||||||
class="table-sm table-compact rounded-none sm:rounded-md w-full bg-table border border-gray-800 m-auto mt-4"
|
class="table table-sm table-compact no-scrollbar rounded-none sm:rounded-md w-full bg-white dark:bg-table border border-gray-300 dark:border-gray-800 m-auto mt-4"
|
||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<TableHeader {columns} {sortOrders} {sortData} />
|
<TableHeader {columns} {sortOrders} {sortData} />
|
||||||
@ -619,9 +621,9 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each day as item}
|
{#each day as item}
|
||||||
<tr
|
<tr
|
||||||
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-odd"
|
||||||
>
|
>
|
||||||
<td class="text-white text-sm sm:text-[1rem]">
|
<td class=" text-sm sm:text-[1rem]">
|
||||||
{item?.time}
|
{item?.time}
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
@ -692,26 +694,24 @@
|
|||||||
alt="{item?.country} flag"
|
alt="{item?.country} flag"
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
<span class="text-white ml-2"
|
<span class=" ml-2">{item?.country}</span>
|
||||||
>{item?.country}</span
|
|
||||||
>
|
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
class="text-start text-white text-sm sm:text-[1rem] whitespace-nowrap"
|
class="text-start text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.event?.length > 40
|
{item?.event?.length > 40
|
||||||
? item?.event.slice(0, 40) + "..."
|
? item?.event.slice(0, 40) + "..."
|
||||||
: item?.event}
|
: item?.event}
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.actual !== null && item?.actual !== ""
|
{item?.actual !== null && item?.actual !== ""
|
||||||
? abbreviateNumber(item?.actual)
|
? abbreviateNumber(item?.actual)
|
||||||
: "-"}
|
: "-"}
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.consensus !== null &&
|
{item?.consensus !== null &&
|
||||||
item?.consensus !== ""
|
item?.consensus !== ""
|
||||||
@ -719,14 +719,14 @@
|
|||||||
: "-"}
|
: "-"}
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.prior !== null && item?.prior !== ""
|
{item?.prior !== null && item?.prior !== ""
|
||||||
? abbreviateNumber(item?.prior)
|
? abbreviateNumber(item?.prior)
|
||||||
: "-"}
|
: "-"}
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
class="text-white text-start text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-start text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex flex-row items-center justify-end"
|
class="flex flex-row items-center justify-end"
|
||||||
@ -746,7 +746,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
{:else}
|
{:else}
|
||||||
<svg
|
<svg
|
||||||
class="w-4 h-4 text-gray-300 dark:text-gray-500"
|
class="w-4 h-4 text-gray-400 dark:text-gray-500"
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
@ -783,7 +783,7 @@
|
|||||||
|
|
||||||
<aside class="hidden lg:block relative fixed w-1/4 ml-4">
|
<aside class="hidden lg:block relative fixed w-1/4 ml-4">
|
||||||
<div
|
<div
|
||||||
class="w-full border border-gray-300 dark:border-gray-600 rounded-md h-fit pb-4 mt-4 cursor-pointer sm:hover:shadow-lg dark:sm:hover:bg-secondary transition ease-out duration-100"
|
class="w-full border border-gray-300 dark:border-gray-300 dark:border-gray-600 rounded-md h-fit pb-4 mt-4 cursor-pointer sm:hover:shadow-lg dark:sm:hover:bg-secondary transition ease-out duration-100"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href="/earnings-calendar"
|
href="/earnings-calendar"
|
||||||
@ -793,18 +793,16 @@
|
|||||||
<h2 class="text-start text-xl font-semibold ml-3">
|
<h2 class="text-start text-xl font-semibold ml-3">
|
||||||
Earnings Calendar
|
Earnings Calendar
|
||||||
</h2>
|
</h2>
|
||||||
<ArrowLogo
|
<ArrowLogo class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:" />
|
||||||
class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:text-white"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="text-white p-3 ml-3 mr-3"
|
<span class=" p-3 ml-3 mr-3"
|
||||||
>Get the latest Earnings of companies</span
|
>Get the latest Earnings of companies</span
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="w-full border border-gray-300 dark:border-gray-600 rounded-md h-fit pb-4 mt-4 cursor-pointer sm:hover:shadow-lg dark:sm:hover:bg-secondary transition ease-out duration-100"
|
class="w-full border border-gray-300 dark:border-gray-300 dark:border-gray-600 rounded-md h-fit pb-4 mt-4 cursor-pointer sm:hover:shadow-lg dark:sm:hover:bg-secondary transition ease-out duration-100"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href="/dividends-calendar"
|
href="/dividends-calendar"
|
||||||
@ -814,11 +812,9 @@
|
|||||||
<h2 class="text-start text-xl font-semibold ml-3">
|
<h2 class="text-start text-xl font-semibold ml-3">
|
||||||
Dividend Calendar
|
Dividend Calendar
|
||||||
</h2>
|
</h2>
|
||||||
<ArrowLogo
|
<ArrowLogo class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:" />
|
||||||
class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:text-white"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="text-white p-3 ml-3 mr-3"
|
<span class=" p-3 ml-3 mr-3"
|
||||||
>Get the latest dividend announcement</span
|
>Get the latest dividend announcement</span
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user