ui fixes
This commit is contained in:
parent
5af16664fb
commit
0f9059cbce
@ -46,7 +46,7 @@
|
||||
</div>
|
||||
<div class="flex flex-row m-auto w-full">
|
||||
{#if consensusRating === "Buy" || consensusRating === "Strong Buy"}
|
||||
<span class="text-start font-semibold text-[#10DB06] mr-auto ml-5 mt-2 text-xl">
|
||||
<span class="text-start font-semibold text-[#37C97D] mr-auto ml-5 mt-2 text-xl">
|
||||
{consensusRating}
|
||||
</span>
|
||||
{:else if consensusRating === "Sell" || consensusRating === "Strong Sell"}
|
||||
@ -87,7 +87,7 @@
|
||||
{buyCount}%
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 [&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]" value={buyCount} max="100"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 [&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]" value={buyCount} max="100"></progress>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col items-center w-full">
|
||||
@ -134,7 +134,7 @@
|
||||
<span class="text-white text-lg font-medium inline-block"> Recommendation: </span>
|
||||
<span class="text-white text-2xl font-medium inline-block">
|
||||
{#if consensusRating === "Buy" || consensusRating === "Strong Buy"}
|
||||
<span class="text-start font-medium text-[#10DB06] text-2xl">
|
||||
<span class="text-start font-medium text-[#37C97D] text-2xl">
|
||||
{consensusRating}
|
||||
</span>
|
||||
{:else if consensusRating === "Sell" || consensusRating === "Strong Sell"}
|
||||
@ -168,7 +168,7 @@
|
||||
{:else if changesPercentage >= 0}
|
||||
<div class="text-white p-4 text-center">
|
||||
The Stock Price has an upside of
|
||||
<span class="text-[#10DB06] font-medium">{abbreviateNumber(Math?.abs(changesPercentage))} %</span>
|
||||
<span class="text-[#37C97D] font-medium">{abbreviateNumber(Math?.abs(changesPercentage))} %</span>
|
||||
based on <span class="font-semibold">{numOfAnalyst}</span> analysts.
|
||||
</div>
|
||||
{/if}
|
||||
@ -186,7 +186,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<progress
|
||||
class="progress w-full {buyCount >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}"
|
||||
class="progress w-full {buyCount >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}"
|
||||
value={buyCount}
|
||||
max="100"
|
||||
></progress>
|
||||
@ -202,7 +202,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<progress
|
||||
class="progress w-full {holdCount >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}"
|
||||
class="progress w-full {holdCount >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}"
|
||||
value={holdCount}
|
||||
max="100"
|
||||
></progress>
|
||||
@ -218,7 +218,7 @@
|
||||
</span>
|
||||
</div>
|
||||
<progress
|
||||
class="progress w-full {sellCount >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}"
|
||||
class="progress w-full {sellCount >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}"
|
||||
value={sellCount}
|
||||
max="100"
|
||||
></progress>
|
||||
|
||||
@ -395,7 +395,7 @@ function findIndex(data) {
|
||||
</span>
|
||||
{/if}
|
||||
{:else if item?.val - tableDataActual[index - 1]?.val > 0}
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
{(((item?.val - tableDataActual[index - 1]?.val) / Math.abs(tableDataActual[index - 1]?.val)) * 100)?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if item?.val - tableDataActual[index - 1]?.val < 0}
|
||||
|
||||
@ -100,7 +100,7 @@
|
||||
<div class="relative">
|
||||
<div class="">
|
||||
<div class="flex justify-center">
|
||||
<!--<div class="{rawData.changesPercentage >= 0 ? 'bg-[#10DB06]' : 'bg-[#FF2F1F]'} w-1.5 mb-5 rounded-l-xl" />-->
|
||||
<!--<div class="{rawData.changesPercentage >= 0 ? 'bg-[#37C97D]' : 'bg-[#FF2F1F]'} w-1.5 mb-5 rounded-l-xl" />-->
|
||||
|
||||
<!--Start Item-->
|
||||
<div class="flex flex-row items-center w-full mb-6">
|
||||
|
||||
@ -103,7 +103,7 @@ function latestInfoDate(inputDate) {
|
||||
</span>
|
||||
<div class="flex mt-5 h-auto">
|
||||
|
||||
<div class="{activeIdx === 0 ? 'bg-[#10DB06]' : 'bg-[#FF2F1F]'} w-full max-w-[3px] rounded-l-xl" />
|
||||
<div class="{activeIdx === 0 ? 'bg-[#37C97D]' : 'bg-[#FF2F1F]'} w-full max-w-[3px] rounded-l-xl" />
|
||||
<span class="text-gray-100 ml-3 text-[1rem] w-full">
|
||||
{#if activeIdx === 0}
|
||||
<p class="pr-1">{rawData?.bullSays}</p>
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
</span>
|
||||
</div>
|
||||
{#if item?.value >= 0}
|
||||
<progress class="progress bg-[#3B3D3F] [&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]" value={(item?.value)} max="1"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] [&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]" value={(item?.value)} max="1"></progress>
|
||||
{:else}
|
||||
<progress class="progress bg-[#3B3D3F] [&::-webkit-progress-value]:bg-[#C7271A] [&::-moz-progress-bar]:bg-[#C7271A]" value={-(item?.value)} min="1"></progress>
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ $: {
|
||||
{item?.weightPercentage <= 0.01 ? "< 0.01%" : item?.weightPercentage?.toFixed(2)+'%'}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]" value={item?.weightPercentage} max="100"></progress>
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]" value={item?.weightPercentage} max="100"></progress>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -266,7 +266,7 @@ $: {
|
||||
The DCF model signals a
|
||||
|
||||
{#if change < -3 }
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
<svg class="w-6 h-6 sm:w-7 sm:h-7 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="none" stroke="#10db06" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="m3 17l6-6l4 4l8-8"/><path d="M17 7h4v4"/></g></svg>
|
||||
Buy
|
||||
</span>
|
||||
@ -293,7 +293,7 @@ $: {
|
||||
{:else if change < 0 }
|
||||
<div class="text-white">
|
||||
The Stock Price is
|
||||
<span class="text-[#10DB06]">{Math?.abs(change)}% undervalued</span>.
|
||||
<span class="text-[#37C97D]">{Math?.abs(change)}% undervalued</span>.
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ $: {
|
||||
{esgScore}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {esgScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={esgScore} max="100"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {esgScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={esgScore} max="100"></progress>
|
||||
</div>
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ $: {
|
||||
{environmentalScore}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {environmentalScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={environmentalScore} max="100"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {environmentalScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={environmentalScore} max="100"></progress>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col items-center w-full">
|
||||
@ -94,7 +94,7 @@ $: {
|
||||
{socialScore}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {socialScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={socialScore} max="100"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {socialScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={socialScore} max="100"></progress>
|
||||
</div>
|
||||
|
||||
|
||||
@ -107,7 +107,7 @@ $: {
|
||||
{governanceScore}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {governanceScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={governanceScore} max="100"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] w-11/12 {governanceScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={governanceScore} max="100"></progress>
|
||||
</div>
|
||||
|
||||
|
||||
@ -165,7 +165,7 @@ $: {
|
||||
{esgScore}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress w-full {esgScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={esgScore} max="100"></progress>
|
||||
<progress class="progress w-full {esgScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={esgScore} max="100"></progress>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -179,7 +179,7 @@ $: {
|
||||
{environmentalScore}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress w-full {environmentalScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={environmentalScore} max="100"></progress>
|
||||
<progress class="progress w-full {environmentalScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={environmentalScore} max="100"></progress>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -192,7 +192,7 @@ $: {
|
||||
<span class="text-white text-md font-medium ml-auto">
|
||||
{socialScore}
|
||||
</div>
|
||||
<progress class="progress w-full {socialScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={socialScore} max="100"></progress>
|
||||
<progress class="progress w-full {socialScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={socialScore} max="100"></progress>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -205,7 +205,7 @@ $: {
|
||||
<span class="text-white text-md font-medium ml-auto">
|
||||
{governanceScore}
|
||||
</div>
|
||||
<progress class="progress w-full {governanceScore >= 50 ? '[&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={governanceScore} max="100"></progress>
|
||||
<progress class="progress w-full {governanceScore >= 50 ? '[&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]' : '[&::-webkit-progress-value]:bg-[#FF2F1F] [&::-moz-progress-bar]:bg-[#FF2F1F]'}" value={governanceScore} max="100"></progress>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -106,7 +106,7 @@ $: {
|
||||
<div class="flex flex-col items-start">
|
||||
<span class="font-medium text-gray-200 text-sm">Quarter Sentiment</span>
|
||||
{#if !deactivateContent}
|
||||
<span class="text-start text-[1rem] sm:text-lg font-semibold {flowSentiment === 'Bullish' ? 'text-[#10DB06]' : 'text-[#FC2120]'}">{flowSentiment}</span>
|
||||
<span class="text-start text-[1rem] sm:text-lg font-semibold {flowSentiment === 'Bullish' ? 'text-[#37C97D]' : 'text-[#FC2120]'}">{flowSentiment}</span>
|
||||
{:else}
|
||||
<a href="/pricing" class="text-blue-400 mt-1 hover:text-white font-medium text-sm flex justify-center items-center">
|
||||
Unlock with Pro
|
||||
@ -182,7 +182,7 @@ $: {
|
||||
<div class="text-white text-[1rem] mt-4 sm:mt-7 ml-1">
|
||||
Over the next quarter the model forecasts a
|
||||
{#if !deactivateContent}
|
||||
<span class="font-semibold {flowSentiment === 'Bullish' ? 'text-[#10DB06]' : 'text-[#FC2120]'}">{flowSentiment}</span> price movement.
|
||||
<span class="font-semibold {flowSentiment === 'Bullish' ? 'text-[#37C97D]' : 'text-[#FC2120]'}">{flowSentiment}</span> price movement.
|
||||
{:else}
|
||||
<a href="/pricing" class="text-blue-400 mt-1 hover:text-white font-medium text-sm">
|
||||
Unlock Prediction with Pro
|
||||
|
||||
@ -65,11 +65,11 @@ function formatFilename(industryName) {
|
||||
{item?.profitMargin?.toFixed(2)}%
|
||||
</td>
|
||||
|
||||
<td class="{item?.avgChange1M >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.avgChange1M >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.avgChange1M?.toFixed(2) ?? '-'}%
|
||||
</td>
|
||||
|
||||
<td class="{item?.avgChange1Y >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.avgChange1Y >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.avgChange1Y?.toFixed(2) ?? '-'}%
|
||||
</td>
|
||||
|
||||
|
||||
@ -13,8 +13,8 @@
|
||||
Market Open
|
||||
</span>
|
||||
<span class="relative flex h-1.5 w-1.5 sm:h-2 sm:w-2 ml-2">
|
||||
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-[#10DB06] opacity-75"></span>
|
||||
<span class="relative inline-flex rounded-full h-1.5 w-1.5 sm:h-2 sm:w-2 bg-[#10DB06]"></span>
|
||||
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-[#37C97D] opacity-75"></span>
|
||||
<span class="relative inline-flex rounded-full h-1.5 w-1.5 sm:h-2 sm:w-2 bg-[#37C97D]"></span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
@ -145,7 +145,7 @@ if(chart && typeof window !== 'undefined')
|
||||
<div class="flex flex-row mt-1 items-center">
|
||||
{#if changesPercentage >=0}
|
||||
<svg class="w-4 h-4 -mr-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] text-xs font-medium">+{changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] text-xs font-medium">+{changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-4 h-4 -mr-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] text-xs font-medium">{changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -202,7 +202,7 @@ $: {
|
||||
<div class="sm:mt-10">
|
||||
The Options activity signals a
|
||||
{#if signal === 'Bullish' }
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
<svg class="w-6 h-6 sm:w-7 sm:h-7 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="none" stroke="#10db06" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="m3 17l6-6l4 4l8-8"/><path d="M17 7h4v4"/></g></svg>
|
||||
{signal}
|
||||
</span>
|
||||
|
||||
@ -191,7 +191,7 @@ $: {
|
||||
Triggers once when price moves {values?.at(0) > 0 ? 'above' : 'below'}
|
||||
{#if values?.at(0) > 0}
|
||||
<svg class="inline-block w-5 h-5 -mr-1 " xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] font-medium">+{values?.at(0)?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{values?.at(0)?.toFixed(2)}%</span>
|
||||
{:else if values?.at(0) < 0}
|
||||
<svg class="inline-block w-5 h-5 -mr-1 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="inline-block text-[#FF2F1F] font-medium">{values?.at(0)?.toFixed(2)}% </span>
|
||||
@ -261,9 +261,9 @@ $: {
|
||||
</div>
|
||||
<div class="text-center font-medium flex justify-center">
|
||||
{#if ((displayPrice/currentPrice-1)*100) > 100}
|
||||
<span class="text-[#10DB06]">{((displayPrice/currentPrice-1)*100)?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">{((displayPrice/currentPrice-1)*100)?.toFixed(2)}%</span>
|
||||
{:else if values?.at(0) > 0}
|
||||
<span class="text-[#10DB06]">{values?.at(0)?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">{values?.at(0)?.toFixed(2)}%</span>
|
||||
{:else if values?.at(0) < 0}
|
||||
<span class="inline-block text-[#FF2F1F]">{values?.at(0)?.toFixed(2)}% </span>
|
||||
{:else}
|
||||
|
||||
@ -228,7 +228,7 @@ $: {
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#27272A] shadow-lg rounded-lg h-20">
|
||||
<div class="flex flex-col items-start">
|
||||
<span class="font-medium text-gray-200 text-sm">Price Sentiment</span>
|
||||
<span class="text-start text-[1rem] sm:text-lg font-semibold {priceSentiment === 'Bullish' ? 'text-[#10DB06]' : 'text-[#FC2120]'}">{priceSentiment}</span>
|
||||
<span class="text-start text-[1rem] sm:text-lg font-semibold {priceSentiment === 'Bullish' ? 'text-[#37C97D]' : 'text-[#FC2120]'}">{priceSentiment}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -302,7 +302,7 @@ $: {
|
||||
|
||||
<div class="text-white text-[1rem] mt-4 sm:mt-7 ml-1">
|
||||
Over the next 12 months, the model predicts a
|
||||
<span class="font-semibold {priceSentiment === 'Bullish' ? 'text-[#10DB06]' : 'text-[#FC2120]'}">{priceSentiment}</span>
|
||||
<span class="font-semibold {priceSentiment === 'Bullish' ? 'text-[#37C97D]' : 'text-[#FC2120]'}">{priceSentiment}</span>
|
||||
trend, suggesting that the future price is expected to {priceSentiment === 'Bullish' ? 'surpass' : 'to be less than'} the previous price of
|
||||
<span class="font-semibold">${lastPrice?.toFixed(2) ?? 'n/a'}</span>, with a mean value of <span class="font-semibold">${oneYearPricePrediction}</span>.
|
||||
</div>
|
||||
|
||||
@ -274,7 +274,7 @@ $: {
|
||||
<div class="text-white text-[1rem] mt-2 mb-2 w-full">
|
||||
In the past six months, the {$displayCompanyName} had an average retail investor volume of <span class="font-semibold">{avgVolume > 100e3 ? abbreviateNumber(avgVolume,true) : '< $100K'}</span>, with a prevailing
|
||||
{#if avgSentiment === 'Bullish' }
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
<svg class="w-6 h-6 sm:w-7 sm:h-7 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="none" stroke="#10db06" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="m3 17l6-6l4 4l8-8"/><path d="M17 7h4v4"/></g></svg>
|
||||
{avgSentiment}
|
||||
</span>
|
||||
|
||||
@ -252,7 +252,7 @@ $: charNumber = $screenWidth < 640 ? 25 :40;
|
||||
{((item?.value / totalGeographicRevenue) * 100)?.toFixed(2)}%
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress bg-[#3B3D3F] [&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]" value={(item?.value / totalGeographicRevenue) * 100} max="100"></progress>
|
||||
<progress class="progress bg-[#3B3D3F] [&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]" value={(item?.value / totalGeographicRevenue) * 100} max="100"></progress>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
|
||||
@ -124,7 +124,7 @@ $: {
|
||||
{item?.exposure <= 0.01 ? "< 0.01%" : item?.exposure?.toFixed(2)+'%'}
|
||||
</span>
|
||||
</div>
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-[#10DB06] [&::-moz-progress-bar]:bg-[#10DB06]" value={(item?.exposure)} max="100"></progress>
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-[#37C97D] [&::-moz-progress-bar]:bg-[#37C97D]" value={(item?.exposure)} max="100"></progress>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -112,7 +112,7 @@ $: {
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current text-[#303030]" stroke-width="3.5"></circle>
|
||||
<!-- Progress Circle inside a group with rotation -->
|
||||
<g class="origin-center -rotate-90 transform">
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current {oneYearResult > 5 ? 'text-[#10DB06]' : oneYearResult < 5 ? 'text-[#FF2F1F]' : 'text-white'} text-opacity-[0.7]" stroke-width="3.5" stroke-dasharray="100" stroke-dashoffset={100-oneYearResult*10}></circle>
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current {oneYearResult > 5 ? 'text-[#37C97D]' : oneYearResult < 5 ? 'text-[#FF2F1F]' : 'text-white'} text-opacity-[0.7]" stroke-width="3.5" stroke-dasharray="100" stroke-dashoffset={100-oneYearResult*10}></circle>
|
||||
</g>
|
||||
</svg>
|
||||
<!--Start Inside Circle-->
|
||||
@ -124,7 +124,7 @@ $: {
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current text-[#303030]" stroke-width="4"></circle>
|
||||
<!-- Progress Circle inside a group with rotation -->
|
||||
<g class="origin-center -rotate-90 transform">
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current {oneMonthResult > 5 ? 'text-[#10DB06]' : oneMonthResult < 5 ? 'text-[#FF2F1F]' : 'text-white'} " stroke-width="4" stroke-dasharray="100" stroke-dashoffset={100-oneMonthResult*10}></circle>
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current {oneMonthResult > 5 ? 'text-[#37C97D]' : oneMonthResult < 5 ? 'text-[#FF2F1F]' : 'text-white'} " stroke-width="4" stroke-dasharray="100" stroke-dashoffset={100-oneMonthResult*10}></circle>
|
||||
</g>
|
||||
</svg>
|
||||
<!-- Percentage Text -->
|
||||
@ -175,7 +175,7 @@ $: {
|
||||
<svg class="w-3.5 h-3.5 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#A3A3A3" d="M17 9V7c0-2.8-2.2-5-5-5S7 4.2 7 7v2c-1.7 0-3 1.3-3 3v7c0 1.7 1.3 3 3 3h10c1.7 0 3-1.3 3-3v-7c0-1.7-1.3-3-3-3M9 7c0-1.7 1.3-3 3-3s3 1.3 3 3v2H9z"/></svg>
|
||||
{/if}
|
||||
</span>
|
||||
<div class="w-2 {item?.value === 5 ? 'bg-white' : item?.value < 5 ? 'bg-[#FF2F1F]' : 'bg-[#10DB06]' } rounded-full" style="height: 120px;">
|
||||
<div class="w-2 {item?.value === 5 ? 'bg-white' : item?.value < 5 ? 'bg-[#FF2F1F]' : 'bg-[#37C97D]' } rounded-full" style="height: 120px;">
|
||||
{#if data?.user?.tier === 'Pro'}
|
||||
<div class="bg-[#2F2F2F] w-2 rounded-t-full" style="height: {(100-item?.value*10)}%;"></div>
|
||||
{:else if ['1M','1Y']?.includes(item?.label)}
|
||||
@ -194,7 +194,7 @@ $: {
|
||||
<!-- Adjusted line -->
|
||||
<div class="sm:-ml-5 border-b absolute border-dashed border-gray-400 w-11/12 sm:w-5/6 left-1/2 transform -translate-x-1/2 {dashedLinePosition[oneMonthResult]}">
|
||||
<div class="w-full flex justify-end mb-2">
|
||||
<label class="text-sm font-semibold px-2 py-1.5 border rounded-full text-black {oneMonthResult === 5 ? 'bg-white border-white' : oneMonthResult < 5 ? 'bg-[#FF2F1F] border-[#FF2F1F]' : 'bg-[#10DB06] border-[#10DB06]'}">
|
||||
<label class="text-sm font-semibold px-2 py-1.5 border rounded-full text-black {oneMonthResult === 5 ? 'bg-white border-white' : oneMonthResult < 5 ? 'bg-[#FF2F1F] border-[#FF2F1F]' : 'bg-[#37C97D] border-[#37C97D]'}">
|
||||
Current: {oneMonthResult}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@ -7,21 +7,21 @@ export let signal;
|
||||
|
||||
<div class="relative h-full w-full mt-5">
|
||||
<div class="absolute bottom-0 right-0 flex flex-row items-end">
|
||||
<div class="bg-[#10DB06] mr-0.5 h-2.5 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-3 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-3.5 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-4 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-[18px] w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-2.5 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-3 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-3.5 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-4 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-[18px] w-1.5"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{:else if signal === 'Buy'}
|
||||
<div class="relative h-full w-full mt-5">
|
||||
<div class="absolute bottom-0 right-0 flex flex-row items-end">
|
||||
<div class="bg-[#10DB06] mr-0.5 h-2.5 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-3 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-3.5 w-1.5"></div>
|
||||
<div class="bg-[#10DB06] mr-0.5 h-4 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-2.5 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-3 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-3.5 w-1.5"></div>
|
||||
<div class="bg-[#37C97D] mr-0.5 h-4 w-1.5"></div>
|
||||
<div class="bg-[#707070] mr-0.5 h-[18px] w-1.5"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
{item.symbol}
|
||||
{#if item?.changesPercentage >= 0}
|
||||
<svg class="inline-block w-4 h-4 ml-0.5 -mr-0.5 mt-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] text-sm font-medium">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] text-sm font-medium">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else if item?.changesPercentage < 0}
|
||||
<svg class="inline-block w-4 h-4 ml-0.5 -mr-0.5 mt-1 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] text-sm font-medium">{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
|
||||
<div class="flex justify-center">
|
||||
<div class="absolute left-0 h-20 px-px bg-gray-800 ml-4 sm:ml-5 transform -translate-x-1/2 "></div>
|
||||
<div class="absolute left-0 w-4 h-4 bg-[#10DB06] border-4 box-content border-gray-900 rounded-full ml-4 sm:ml-5 transform -translate-x-1/2"></div>
|
||||
<div class="absolute left-0 w-4 h-4 bg-[#37C97D] border-4 box-content border-gray-900 rounded-full ml-4 sm:ml-5 transform -translate-x-1/2"></div>
|
||||
|
||||
<!--Start Item-->
|
||||
<div class="flex flex-row items-center ml-5 w-full mb-6">
|
||||
|
||||
@ -119,11 +119,11 @@ $: if ($assetType || $stockTicker || $etfTicker || $cryptoTicker) {
|
||||
|
||||
{#if overallSignal !== 'n/a'}
|
||||
<div class="text-white text-[1rem] sm:text-lg mt-3 mb-8 text-start">
|
||||
Out of 11 indicators, <span class="font-semibold text-[#10DB06]">{buyCount}</span> indicates a Buy,
|
||||
Out of 11 indicators, <span class="font-semibold text-[#37C97D]">{buyCount}</span> indicates a Buy,
|
||||
<span class="font-semibold text-[#F8901E]">{neutralCount}</span> are Neutral and <span class="font-semibold text-[#FF2F1F]">{sellCount}</span> indicate a Sell.
|
||||
On average, the signal is to
|
||||
{#if overallSignal === 'Buy' || overallSignal === 'Strong Buy'}
|
||||
<span class="text-[#10DB06] sm:font-medium">
|
||||
<span class="text-[#37C97D] sm:font-medium">
|
||||
<svg class="w-7 h-7 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="none" stroke="#10db06" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="m3 17l6-6l4 4l8-8"/><path d="M17 7h4v4"/></g></svg>
|
||||
Buy.
|
||||
</span>
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
{#if data?.overallReturn > 0}
|
||||
<svg class="w-5 h-5 -mr-0.5 mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
|
||||
<span class="text-[#10DB06] text-md">
|
||||
<span class="text-[#37C97D] text-md">
|
||||
+{data?.overallReturn.toFixed(2)}%
|
||||
</span>
|
||||
{:else if data?.overallReturn < 0}
|
||||
|
||||
@ -118,7 +118,7 @@ $: {
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#27272A] shadow-lg rounded-lg h-20">
|
||||
<div class="flex flex-col items-start">
|
||||
<span class="font-medium text-gray-200 text-sm">Trend Sentiment</span>
|
||||
<span class="text-start text-[1rem] sm:text-lg font-semibold {flowSentiment === 'Bullish' ? 'text-[#10DB06]' : 'text-[#FC2120]'}">{flowSentiment}</span>
|
||||
<span class="text-start text-[1rem] sm:text-lg font-semibold {flowSentiment === 'Bullish' ? 'text-[#37C97D]' : 'text-[#FC2120]'}">{flowSentiment}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -199,7 +199,7 @@ $: {
|
||||
|
||||
<div class="text-white text-[1rem] mt-4 sm:mt-7 ml-1">
|
||||
Over the next {displayData === 'threeMonth' ? '3 months' : displayData === 'oneMonth' ? '1 month' : '1 week'}, the model forecasts a
|
||||
<span class="font-semibold {flowSentiment === 'Bullish' ? 'text-[#10DB06]' : 'text-[#FC2120]'}">{flowSentiment}</span>
|
||||
<span class="font-semibold {flowSentiment === 'Bullish' ? 'text-[#37C97D]' : 'text-[#FC2120]'}">{flowSentiment}</span>
|
||||
trend, indicating that the future price is expected to {flowSentiment === 'Bullish' ? 'exceed' : 'to be less than'} the previous price of
|
||||
<span class="font-medium">${lastPrice ?? 'n/a'}</span>.
|
||||
</div>
|
||||
|
||||
@ -58,7 +58,7 @@ $: {
|
||||
<div class ="flex justify-center items-center m-auto font-medium text-xs sm:text-sm relative bottom-0">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<svg class="w-2.5 h-2.5 inline-block mt-0.5 mr-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path fill="#10DB06" d="M3 19h18a1.002 1.002 0 0 0 .823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 0 0 3 19z"/></g></svg>
|
||||
<span class="items-center justify-start text-[#10DB06]">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="items-center justify-start text-[#37C97D]">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-2.5 h-2.5 inline-block mt-0.5 mr-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g transform="rotate(180 12 12)"><path fill="#FF2F1F" d="M3 19h18a1.002 1.002 0 0 0 .823-1.569l-9-13c-.373-.539-1.271-.539-1.645 0l-9 13A.999.999 0 0 0 3 19z"/></g></svg>
|
||||
<span class="items-center justify-start text-[#FF2F1F]">
|
||||
|
||||
@ -194,7 +194,7 @@ function getPlotOptions() {
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current text-[#303030]" stroke-width="4"></circle>
|
||||
<!-- Progress Circle inside a group with rotation -->
|
||||
<g class="origin-center -rotate-90 transform">
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current {rating > 5 ? 'text-[#10DB06]' : rating < 5 ? 'text-[#FF2F1F]' : 'text-white'} " stroke-width="4" stroke-dasharray="100" stroke-dashoffset={100-rating*10}></circle>
|
||||
<circle cx="18" cy="18" r="16" fill="none" class="stroke-current {rating > 5 ? 'text-[#37C97D]' : rating < 5 ? 'text-[#FF2F1F]' : 'text-white'} " stroke-width="4" stroke-dasharray="100" stroke-dashoffset={100-rating*10}></circle>
|
||||
</g>
|
||||
</svg>
|
||||
<!-- Percentage Text -->
|
||||
|
||||
@ -69,7 +69,7 @@ $: {
|
||||
<div class="">
|
||||
|
||||
<div class="flex justify-center ">
|
||||
<!--<div class="{item?.changesPercentage >= 0 ? 'bg-[#10DB06]' : 'bg-[#FF2F1F]'} w-1.5 mb-5 rounded-l-xl" />-->
|
||||
<!--<div class="{item?.changesPercentage >= 0 ? 'bg-[#37C97D]' : 'bg-[#FF2F1F]'} w-1.5 mb-5 rounded-l-xl" />-->
|
||||
|
||||
<!--Start Item-->
|
||||
<div class="flex flex-row items-center w-full mb-6">
|
||||
@ -85,7 +85,7 @@ $: {
|
||||
<div class="text-white text-sm ml-auto pr-4 font-medium">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] inline-block">+{item?.changesPercentage}%</span>
|
||||
<span class="text-[#37C97D] inline-block">+{item?.changesPercentage}%</span>
|
||||
{:else if item?.changesPercentage < 0 }
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] inline-block">{item?.changesPercentage}% </span>
|
||||
|
||||
@ -351,7 +351,7 @@ if(watchList && isLoaded)
|
||||
<div class="flex flex-row items-center mr-3 ml-auto">
|
||||
{#if roundedMean >= 0}
|
||||
<svg class="inline-block w-5 h-5 mt-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] text-sm font-medium">+{roundedMean}%</span>
|
||||
<span class="text-[#37C97D] text-sm font-medium">+{roundedMean}%</span>
|
||||
{:else if roundedMean < 0}
|
||||
<svg class="inline-block w-5 h-5 mt-1 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] text-sm font-medium">{roundedMean}%</span>
|
||||
@ -444,7 +444,7 @@ if(watchList && isLoaded)
|
||||
|
||||
<td class="border-b-[#09090B] text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -248,7 +248,7 @@ onMount( async() => {
|
||||
<!--${quickInfo?.active?.price}-->
|
||||
{#if quickInfo?.active?.changesPercentage >=0}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5 inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] font-medium">+{quickInfo?.active?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{quickInfo?.active?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5 inline-block rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] font-medium">{quickInfo?.active?.changesPercentage?.toFixed(2)}% </span>
|
||||
@ -269,7 +269,7 @@ onMount( async() => {
|
||||
<!--${quickInfo?.winner?.price}-->
|
||||
{#if quickInfo?.winner?.changesPercentage >=0}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] font-medium">+{abbreviateNumber(quickInfo?.winner?.changesPercentage?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{abbreviateNumber(quickInfo?.winner?.changesPercentage?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] font-medium">{abbreviateNumber(quickInfo?.winner?.changesPercentage?.toFixed(2))}% </span>
|
||||
@ -290,7 +290,7 @@ onMount( async() => {
|
||||
<!--${quickInfo?.loser?.price?.toFixed(2)}-->
|
||||
{#if quickInfo?.loser?.changesPercentage >=0}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] font-medium">+{abbreviateNumber(quickInfo?.loser?.changesPercentage?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{abbreviateNumber(quickInfo?.loser?.changesPercentage?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] font-medium">{abbreviateNumber(quickInfo?.loser?.changesPercentage?.toFixed(2))}% </span>
|
||||
@ -312,7 +312,7 @@ onMount( async() => {
|
||||
<p class="text-start text-[1rem] sm:text-lg font-medium text-[#FF2F1F] mt-1">
|
||||
{#if quickInfo?.topSector?.changesPercentage >=0}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] font-medium">+{abbreviateNumber(quickInfo?.topSector?.changesPercentage?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{abbreviateNumber(quickInfo?.topSector?.changesPercentage?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<svg class="hidden sm:inline-block w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] font-medium">{abbreviateNumber(quickInfo?.topSector?.changesPercentage?.toFixed(2))}% </span>
|
||||
|
||||
@ -260,14 +260,14 @@ $: {
|
||||
<tbody>
|
||||
{#each analytRatingList as item, index}
|
||||
|
||||
<tr on:click={() => goto(`/analysts/${item?.analystId}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === rawData?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''} cursor-pointer">
|
||||
<tr class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === rawData?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}">
|
||||
<td class="text-white text-sm sm:text-[1rem] font-semibold text-white text-center">
|
||||
{item?.rank}
|
||||
</td>
|
||||
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<div class="flex flex-col items-start">
|
||||
<span class="text-blue-400 font-medium">{item?.analystName} </span>
|
||||
<a href={"/analysts/"+item?.analystId} class="sm:hover:text-white text-blue-400 font-medium">{item?.analystName} </a>
|
||||
<span class="text-white ">{item?.companyName} </span>
|
||||
<div class="flex flex-row items-center mt-1">
|
||||
{#each Array.from({ length: 5 }) as _, i}
|
||||
|
||||
@ -263,7 +263,7 @@ function sectorSelector(sector) {
|
||||
<td class="text-sm sm:text-[1rem] text-start whitespace-nowrap">
|
||||
<div class="flex flex-col sm:flex-row items-start">
|
||||
<span class="font-medium text-white mr-1">{item?.action_company}:</span>
|
||||
<span class="font-medium {['Strong Buy', 'Buy']?.includes(item?.rating_current) ? 'text-[#10DB06]' : item?.rating_current === 'Hold' ? 'text-[#FF7070]' : ['Strong Sell','Sell']?.includes(item?.rating_current) ? 'text-[#FF2F1F]' : 'text-gray-300'}">
|
||||
<span class="font-medium {['Strong Buy', 'Buy']?.includes(item?.rating_current) ? 'text-[#37C97D]' : item?.rating_current === 'Hold' ? 'text-[#FF7070]' : ['Strong Sell','Sell']?.includes(item?.rating_current) ? 'text-[#FF2F1F]' : 'text-gray-300'}">
|
||||
{item?.rating_current}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -253,13 +253,15 @@ $: {
|
||||
<tbody>
|
||||
{#each analytRatingList as item, index}
|
||||
|
||||
<tr on:click={() => goto(`/stocks/${item?.ticker}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === rawData?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''} cursor-pointer">
|
||||
<tr class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === rawData?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}">
|
||||
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap font-medium text-white text-center">
|
||||
{item?.rank}
|
||||
</td>
|
||||
|
||||
<td class="text-blue-400 text-sm sm:text-[1rem] whitespace-nowrap text-start">
|
||||
<td class="text-sm sm:text-[1rem] whitespace-nowrap text-start">
|
||||
<a href={"/stocks/"+item?.ticker} class="sm:hover:text-white text-blue-400">
|
||||
{item?.ticker}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-white text-start">
|
||||
|
||||
@ -875,8 +875,8 @@ onDestroy(async () => {
|
||||
<div class="ml-2 flex flex-row items-center">
|
||||
|
||||
<span class="relative flex h-2 w-2 ">
|
||||
<span class="animate-ping absolute inline-flex h-full w-full rounded-full {subscriptionData?.status_formatted === 'Active' || subscriptionData?.status_formatted === 'Paid' || subscriptionData?.status_formatted === 'On Trial' || data?.user?.freeTrial === true ? 'bg-[#10DB06]' : 'bg-[#FF3131]'} opacity-75"></span>
|
||||
<span class="relative inline-flex rounded-full h-2 w-2 {subscriptionData?.status_formatted === 'Active' || subscriptionData?.status_formatted === 'Paid' || subscriptionData?.status_formatted === 'On Trial' || data?.user?.freeTrial === true ? 'bg-[#10DB06]' : 'bg-[#FF3131]'}"></span>
|
||||
<span class="animate-ping absolute inline-flex h-full w-full rounded-full {subscriptionData?.status_formatted === 'Active' || subscriptionData?.status_formatted === 'Paid' || subscriptionData?.status_formatted === 'On Trial' || data?.user?.freeTrial === true ? 'bg-[#37C97D]' : 'bg-[#FF3131]'} opacity-75"></span>
|
||||
<span class="relative inline-flex rounded-full h-2 w-2 {subscriptionData?.status_formatted === 'Active' || subscriptionData?.status_formatted === 'Paid' || subscriptionData?.status_formatted === 'On Trial' || data?.user?.freeTrial === true ? 'bg-[#37C97D]' : 'bg-[#FF3131]'}"></span>
|
||||
</span>
|
||||
|
||||
<span class="ml-2 text-[1rem] text-slate-200 font-medium">
|
||||
@ -1119,7 +1119,7 @@ onDestroy(async () => {
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<button on:click={() => isClicked = !isClicked} class="{!isClicked ? '' : 'hidden'} cursor-pointer px-7 py-2 mb-5 rounded-full text-center bg-[#10DB06] text-black font-semibold text-[1rem] font-normal">
|
||||
<button on:click={() => isClicked = !isClicked} class="{!isClicked ? '' : 'hidden'} cursor-pointer px-7 py-2 mb-5 rounded-full text-center bg-[#37C97D] text-black font-semibold text-[1rem] font-normal">
|
||||
Change to Annual Plan
|
||||
<input class="hidden" name='subscriptionId' value={subscriptionData?.first_subscription_item?.subscription_id}/>
|
||||
</button>
|
||||
|
||||
@ -41,7 +41,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
function formatDate(dateString) {
|
||||
const date = new Date(dateString);
|
||||
|
||||
const year = date.getFullYear();
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, '0'); // Months are zero-based
|
||||
const day = date.getDate().toString().padStart(2, '0');
|
||||
|
||||
const hours = date.getHours() % 12 || 12; // Convert to 12-hour format
|
||||
const minutes = date.getMinutes().toString().padStart(2, '0');
|
||||
const ampm = date.getHours() >= 12 ? 'PM' : 'AM';
|
||||
|
||||
return `${year}/${month}/${day} ${hours}:${minutes} ${ampm}`;
|
||||
}
|
||||
onMount(() => {
|
||||
rawData = data?.getCorporateLobbyingTracker ?? [];
|
||||
displayList = rawData?.slice(0,50) ?? []
|
||||
@ -64,7 +76,7 @@ function changeOrder(state:string) {
|
||||
}
|
||||
|
||||
|
||||
$: charNumber = $screenWidth < 640 ? 15 : 40;
|
||||
$: charNumber = $screenWidth < 640 ? 15 : 20;
|
||||
|
||||
|
||||
</script>
|
||||
@ -191,15 +203,17 @@ $: charNumber = $screenWidth < 640 ? 15 : 40;
|
||||
<tbody>
|
||||
{#each displayList as item, index}
|
||||
|
||||
<tr on:click={() => goto(`/stocks/${item?.ticker}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === displayList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''} cursor-pointer">
|
||||
<tr class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === displayList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}">
|
||||
|
||||
|
||||
<td class="text-start text-sm sm:text-[1rem] text-white whitespace-nowrap">
|
||||
{item?.date}
|
||||
{formatDate(item?.date)}
|
||||
</td>
|
||||
|
||||
<td class="text-blue-400 text-sm sm:text-[1rem] text-start">
|
||||
<a href={"/stocks/"+item?.ticker} class="sm:hover:text-white text-blue-400">
|
||||
{item?.ticker}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-white text-start">
|
||||
@ -208,7 +222,7 @@ $: charNumber = $screenWidth < 640 ? 15 : 40;
|
||||
|
||||
|
||||
|
||||
<td class="text-end text-sm sm:text-[1rem] font-medium text-white">
|
||||
<td class="text-end text-sm sm:text-[1rem] font-medium text-white whitespace-nowrap">
|
||||
{item?.sector}
|
||||
</td>
|
||||
|
||||
|
||||
@ -724,7 +724,7 @@ afterUpdate(async () => {
|
||||
|
||||
{#if displayLegend?.change >= 0}
|
||||
<svg class="inline-block w-5 h-5 mt-0.5 -mr-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="items-center justify-start text-[#10DB06] font-medium text-xs sm:text-sm">+{displayLegend?.change}%</span>
|
||||
<span class="items-center justify-start text-[#37C97D] font-medium text-xs sm:text-sm">+{displayLegend?.change}%</span>
|
||||
{:else if displayLegend?.change < 0}
|
||||
<svg class="inline-block w-5 h-5 mt-0.5 -mr-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="items-center justify-start text-[#FF2F1F] font-medium text-xs sm:text-sm">{displayLegend?.change}% </span>
|
||||
|
||||
@ -278,7 +278,7 @@ onMount(async () => {
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white border-b border-b-[#09090B]">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{:else if item?.type === 'Exchange'}
|
||||
@ -365,7 +365,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-slate-300 text-ends">Type</span>
|
||||
<span class="text-white font-medium text-end">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{:else if item?.type === 'Exchange'}
|
||||
|
||||
@ -854,7 +854,7 @@ async function exportData(timePeriod:string) {
|
||||
|
||||
{#if displayLegend?.change >= 0}
|
||||
<svg class="inline-block w-5 h-5 mt-0.5 -mr-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="items-center justify-start text-[#10DB06] font-medium text-xs sm:text-sm">+{displayLegend?.change}%</span>
|
||||
<span class="items-center justify-start text-[#37C97D] font-medium text-xs sm:text-sm">+{displayLegend?.change}%</span>
|
||||
{:else if displayLegend?.change < 0}
|
||||
<svg class="inline-block w-5 h-5 mt-0.5 -mr-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="items-center justify-start text-[#FF2F1F] font-medium text-xs sm:text-sm">{displayLegend?.change}% </span>
|
||||
@ -875,7 +875,7 @@ async function exportData(timePeriod:string) {
|
||||
${prePostData?.price}
|
||||
</span>
|
||||
{#if prePostData?.changesPercentage >= 0}
|
||||
<span class="ml-1 items-center justify-start text-[#10DB06] font-medium text-xs sm:text-sm">({prePostData?.changesPercentage}%)</span>
|
||||
<span class="ml-1 items-center justify-start text-[#37C97D] font-medium text-xs sm:text-sm">({prePostData?.changesPercentage}%)</span>
|
||||
{:else if prePostData?.changesPercentage < 0}
|
||||
<span class="ml-1 items-center justify-start text-[#FF2F1F] font-medium text-xs sm:text-sm">({prePostData?.changesPercentage}%)</span>
|
||||
{/if}
|
||||
|
||||
@ -277,7 +277,7 @@ onMount(async () => {
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white border-b border-b-[#09090B]">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{:else if item?.type === 'Exchange'}
|
||||
@ -364,7 +364,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-slate-300 text-ends">Type</span>
|
||||
<span class="text-white font-medium text-end">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{:else if item?.type === 'Exchange'}
|
||||
|
||||
@ -770,7 +770,7 @@ $: {
|
||||
|
||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage <= -1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -212,7 +212,7 @@
|
||||
|
||||
<td class="text-end text-white text-sm sm:text-[1rem] font-medium">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage}% </span>
|
||||
{/if}
|
||||
|
||||
@ -209,7 +209,7 @@ async function handleInput(event) {
|
||||
<label class="cursor-pointer flex flex-col items-start">
|
||||
<div class="flex flex-row mt-1 text-[1rem] font-semibold">
|
||||
{#if item?.performancePercentage3year >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(item?.performancePercentage3year?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(item?.performancePercentage3year?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(item?.performancePercentage3year?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -220,7 +220,7 @@ async function handleInput(event) {
|
||||
<div class="flex flex-col items-end ">
|
||||
<div class="flex flex-row mt-1 text-[1rem] font-semibold">
|
||||
{#if item?.winRate >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(item?.winRate?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(item?.winRate?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(item?.winRate?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
|
||||
@ -505,7 +505,7 @@ onMount(async () => {
|
||||
<div class="flex flex-col items-end ">
|
||||
<div class="flex flex-row mt-1 text-[1rem] font-semibold">
|
||||
{#if rawData.winRate >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData.winRate?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData.winRate?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData.winRate?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -584,7 +584,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-gray-200 text-sm sm:text-[0.85rem]">3 Year Perf.</span>
|
||||
<span class="text-start text-[1rem] sm:text-sm font-semibold text-white mt-0.5">
|
||||
{#if rawData?.performancePercentage3year >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData?.performancePercentage3year?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData?.performancePercentage3year?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData?.performancePercentage3year?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -619,7 +619,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-gray-200 text-sm sm:text-[0.85rem]">5 Year Perf.</span>
|
||||
<span class="text-start text-[1rem] sm:text-sm font-semibold text-white mt-0.5">
|
||||
{#if rawData?.performancePercentage5year >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData?.performancePercentage5year?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData?.performancePercentage5year?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData?.performancePercentage5year?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -654,7 +654,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-gray-200 text-sm sm:text-[0.85rem]">Incept. Perf.</span>
|
||||
<span class="text-start text-[1rem] sm:text-sm font-semibold text-white mt-0.5">
|
||||
{#if rawData?.performanceSinceInceptionPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData?.performanceSinceInceptionPercentage?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData?.performanceSinceInceptionPercentage?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData?.performanceSinceInceptionPercentage?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -778,7 +778,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-gray-200 text-[1rem]">3 Year Perf.</span>
|
||||
<span class="text-start text-[1rem] font-semibold text-white mt-0.5">
|
||||
{#if rawData?.performancePercentage3year >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData?.performancePercentage3year?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData?.performancePercentage3year?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData?.performancePercentage3year?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -804,7 +804,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-gray-200 text-[1rem]">5 Year Perf.</span>
|
||||
<span class="text-start text-[1rem] font-semibold text-white mt-0.5">
|
||||
{#if rawData?.performancePercentage5year >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData?.performancePercentage5year?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData?.performancePercentage5year?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData?.performancePercentage5year?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
@ -831,7 +831,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-gray-200 text-[1rem]">Incept. Perf.</span>
|
||||
<span class="text-start text-[1rem] font-semibold text-white mt-0.5">
|
||||
{#if rawData?.performanceSinceInceptionPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{abbreviateNumber(rawData?.performanceSinceInceptionPercentage?.toFixed(2))}%</span>
|
||||
<span class="text-[#37C97D]">+{abbreviateNumber(rawData?.performanceSinceInceptionPercentage?.toFixed(2))}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{abbreviateNumber(rawData?.performanceSinceInceptionPercentage?.toFixed(2))}% </span>
|
||||
{/if}
|
||||
|
||||
@ -79,11 +79,11 @@ $: charNumber = $screenWidth < 640 ? 20 : 30;
|
||||
{item?.profitMargin?.toFixed(2)}%
|
||||
</td>
|
||||
|
||||
<td class="{item?.avgChange1M >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.avgChange1M >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.avgChange1M?.toFixed(2) ?? '-'}%
|
||||
</td>
|
||||
|
||||
<td class="{item?.avgChange1Y >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.avgChange1Y >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.avgChange1Y?.toFixed(2) ?? '-'}%
|
||||
</td>
|
||||
|
||||
|
||||
@ -129,11 +129,11 @@ $: charNumber = $screenWidth < 640 ? 20 : 30;
|
||||
{item?.profitMargin?.toFixed(2)}%
|
||||
</td>
|
||||
|
||||
<td class="{item?.avgChange1M >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.avgChange1M >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.avgChange1M?.toFixed(2) ?? '-'}%
|
||||
</td>
|
||||
|
||||
<td class="{item?.avgChange1Y >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.avgChange1Y >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.avgChange1Y?.toFixed(2) ?? '-'}%
|
||||
</td>
|
||||
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
|
||||
<td class="text-white border-b-[#09090B] text-end text-sm sm:text-[1rem] whitespace-nowrap flex flex-row items-center justify-end">
|
||||
{#if item?.return >=0 && item?.return !== null}
|
||||
<span class="inline-block text-[#10DB06] text-md">{abbreviateNumber(item?.return)}%</span>
|
||||
<span class="inline-block text-[#37C97D] text-md">{abbreviateNumber(item?.return)}%</span>
|
||||
{:else if item?.return < 0 && item?.return !== null}
|
||||
<span class="inline-block text-[#FF2F1F] text-md">{abbreviateNumber(item?.return)}% </span>
|
||||
{:else}
|
||||
|
||||
@ -181,7 +181,7 @@ $: {
|
||||
|
||||
<td class="text-white border-b-[#09090B] text-end flex flex-row items-center justify-end font-semibold">
|
||||
{#if item?.return >=0 && item?.return !== null}
|
||||
<span class="inline-block text-[#10DB06] text-sm sm:text-[1rem] whitespace-nowrap">{abbreviateNumber(item?.return)}%</span>
|
||||
<span class="inline-block text-[#37C97D] text-sm sm:text-[1rem] whitespace-nowrap">{abbreviateNumber(item?.return)}%</span>
|
||||
{:else if item?.return < 0 && item?.return !== null}
|
||||
<span class="inline-block text-[#FF2F1F] text-sm sm:text-[1rem] whitespace-nowrap">{abbreviateNumber(item?.return)}% </span>
|
||||
{:else}
|
||||
|
||||
@ -381,7 +381,7 @@ async function getLeaderboard() {
|
||||
{#if item?.overallReturn > 0}
|
||||
<svg class="w-5 h-5 -mr-0.5 mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
|
||||
<span class="text-[#10DB06] text-md">
|
||||
<span class="text-[#37C97D] text-md">
|
||||
+{item?.overallReturn?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if item?.overallReturn < 0}
|
||||
@ -460,7 +460,7 @@ async function getLeaderboard() {
|
||||
{#if item?.overallReturn > 0}
|
||||
<svg class="w-5 h-5 -mr-0.5 mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
|
||||
<span class="text-[#10DB06] text-md">
|
||||
<span class="text-[#37C97D] text-md">
|
||||
+{item?.overallReturn?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if item?.overallReturn < 0}
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -92,7 +92,7 @@
|
||||
|
||||
<td class="text-white font-semibold sm:font-normal text-center text-sm sm:text-[1rem] border-b-[#09090B]">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -92,7 +92,7 @@
|
||||
|
||||
<td class="text-white font-semibold sm:font-normal text-center text-sm sm:text-[1rem] border-b-[#09090B]">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -303,7 +303,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -208,7 +208,7 @@ function getPlotOptions() {
|
||||
</td>
|
||||
|
||||
|
||||
<td class="text-sm sm:text-[1rem] whitespace-nowrap {(item?.changesPercentage !== null && item?.changesPercentage >= 0) ? 'text-[#10DB06]' : item?.changesPercentage < 0 ? 'text-[#FF2F1F]' : 'text-white'} text-end">
|
||||
<td class="text-sm sm:text-[1rem] whitespace-nowrap {(item?.changesPercentage !== null && item?.changesPercentage >= 0) ? 'text-[#37C97D]' : item?.changesPercentage < 0 ? 'text-[#FF2F1F]' : 'text-white'} text-end">
|
||||
{item?.changesPercentage !== null ? item?.changesPercentage : '-'}
|
||||
</td>
|
||||
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -140,7 +140,7 @@
|
||||
<span class="text-white font-semibold text-md ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] font-medium">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -184,7 +184,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -140,7 +140,7 @@
|
||||
<span class="text-white font-semibold text-md ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] font-medium">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -140,7 +140,7 @@
|
||||
<span class="text-white font-semibold text-md ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] font-medium">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -141,7 +141,7 @@
|
||||
<span class="text-white font-semibold text-md ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] font-medium">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -141,7 +141,7 @@
|
||||
<span class="text-white font-semibold text-md ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] font-medium">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -125,7 +125,7 @@ $: charNumber = $screenWidth < 640 ? 15 : 20;
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -79,7 +79,7 @@ $: charNumber = $screenWidth < 640 ? 20 : 30;
|
||||
{item?.price}
|
||||
</td>
|
||||
|
||||
<td class="{item?.changesPercentage >= 0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
<td class="{item?.changesPercentage >= 0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'} text-end font-medium text-sm sm:text-[1rem] whitespace-nowrap border-b-[#09090B]">
|
||||
{item?.changesPercentage?.toFixed(2)}%
|
||||
</td>
|
||||
|
||||
|
||||
@ -140,7 +140,7 @@
|
||||
<span class="text-white font-semibold text-md ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06] font-medium">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] font-medium">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] font-medium">{item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -301,7 +301,7 @@ function getPlotOptions() {
|
||||
<span class="text-white ml-auto">${item.price?.toFixed(2)}</span>
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
<div class="flex flex-row mt-0.5 ml-auto">
|
||||
{#if item.changesPercentage >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F]">{item.changesPercentage?.toFixed(2)}% </span>
|
||||
|
||||
@ -377,7 +377,8 @@ $: charNumber = $screenWidth < 640 ? 20 : 30;
|
||||
<table class="table table-sm table-compact rounded-none sm:rounded-md w-full bg-[#09090B] border-bg-[#09090B]">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-white font-semibold text-[1rem] whitespace-nowrap">Company</th>
|
||||
<th class="text-white font-semibold text-[1rem] whitespace-nowrap">Symbol</th>
|
||||
<th class="text-white font-semibold text-[1rem] whitespace-nowrap">Name</th>
|
||||
<th on:click={() => { sortBy = 'change'; changeOrder(order); }} class="whitespace-nowrap cursor-pointer text-white font-semibold text-[1rem] text-end">
|
||||
% Change
|
||||
<svg class="w-5 h-5 inline-block {order === 'highToLow' && sortBy === 'change' ? 'rotate-180' : ''}" viewBox="0 0 20 20" fill="currentColor" style="max-width:40px"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
|
||||
@ -401,19 +402,17 @@ $: charNumber = $screenWidth < 640 ? 20 : 30;
|
||||
<tr on:click={() => goto("/stocks/"+item?.symbol)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] cursor-pointer">
|
||||
|
||||
<td class="border-b-[#09090B] text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<div class="flex flex-col">
|
||||
<span class="text-blue-400 font-semibold">
|
||||
{item?.symbol}
|
||||
</span>
|
||||
<span class="text-white text-sm border-b-[#09090B]">
|
||||
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
|
||||
</span>
|
||||
</div>
|
||||
<a href={"/stocks/"+item?.symbol} class="sm:hover:text-white text-blue-400">
|
||||
{item?.symbol}
|
||||
</a>
|
||||
</td>
|
||||
<td class="border-b-[#09090B] text-sm sm:text-[1rem] whitespace-nowrap text-white">
|
||||
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
|
||||
</td>
|
||||
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] font-semibold border-b-[#09090B]">
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] font-medium border-b-[#09090B]">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage <= -1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -160,7 +160,7 @@ async function handleScroll() {
|
||||
Symbol
|
||||
</th>
|
||||
|
||||
<th class="hidden sm:table-cell text-start bg-[#09090B] text-white text-[1rem] font-semibold">
|
||||
<th class=" text-start bg-[#09090B] text-white text-[1rem] font-semibold">
|
||||
Name
|
||||
</th>
|
||||
|
||||
@ -178,21 +178,18 @@ async function handleScroll() {
|
||||
<tbody>
|
||||
{#each stockList as item, index}
|
||||
|
||||
<tr on:click={() => goto(`/${item?.assetType}/${item?.symbol}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === stockList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''} cursor-pointer">
|
||||
<tr class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === stockList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}">
|
||||
<td class="text-white text-sm sm:text-[1rem] font-medium text-white text-end">
|
||||
{index+1}
|
||||
</td>
|
||||
|
||||
<td class="text-sm sm:text-[1rem] text-start">
|
||||
<div class="flex flex-col items-start w-32 sm:w-fit">
|
||||
<span class="text-blue-400">{item?.symbol}</span>
|
||||
<span class="text-white sm:hidden">
|
||||
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
|
||||
</span>
|
||||
</div>
|
||||
<a href={"/stocks/"+item?.symbol} class="sm:hover:text-white text-blue-400">
|
||||
{item?.symbol}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td class="hidden sm:table-cell text-white text-sm sm:text-[1rem] text-white text-start">
|
||||
<td class="whitespace-nowrap text-white text-sm sm:text-[1rem] text-white text-start">
|
||||
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
|
||||
</td>
|
||||
|
||||
@ -205,7 +202,7 @@ async function handleScroll() {
|
||||
{item?.retailStrength}%
|
||||
</td>
|
||||
|
||||
<td class="text-end text-sm sm:text-[1rem] font-medium {item?.sentiment > 0 ? 'text-[#10DB06]' : item?.sentiment < 0 ? 'text-[#E57C34]' : 'text-[#C6A755]'}">
|
||||
<td class="text-end text-sm sm:text-[1rem] font-medium {item?.sentiment > 0 ? 'text-[#37C97D]' : item?.sentiment < 0 ? 'text-[#E57C34]' : 'text-[#C6A755]'}">
|
||||
{item?.sentiment > 0 ? 'Bullish' : item?.sentiment < 0 ? 'Bearish' : 'Mixed'}
|
||||
</td>
|
||||
|
||||
|
||||
@ -145,7 +145,7 @@ async function handleScroll() {
|
||||
Symbol
|
||||
</th>
|
||||
|
||||
<th class="hidden sm:table-cell text-start bg-[#09090B] text-white text-[1rem] font-semibold">
|
||||
<th class="text-start bg-[#09090B] text-white text-[1rem] font-semibold">
|
||||
Name
|
||||
</th>
|
||||
<th class="text-end bg-[#09090B] text-white text-[1rem] font-semibold">
|
||||
@ -165,38 +165,36 @@ async function handleScroll() {
|
||||
<tbody>
|
||||
{#each stockList as item, index}
|
||||
|
||||
<tr on:click={() => goto(`/stocks/${item?.symbol}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === stockList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''} cursor-pointer">
|
||||
<tr on:click={() => goto(`/stocks/${item?.symbol}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === stockList?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''}">
|
||||
<td class="text-white text-sm sm:text-[1rem] font-medium text-white text-end">
|
||||
{index+1}
|
||||
</td>
|
||||
|
||||
<td class="text-sm sm:text-[1rem] whtitespace-nowrap text-start">
|
||||
<div class="flex flex-col items-start w-32 sm:w-fit">
|
||||
<span class="text-blue-400">{item?.symbol}</span>
|
||||
<span class="text-white sm:hidden">
|
||||
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
|
||||
</span>
|
||||
</div>
|
||||
<td class="text-sm sm:text-[1rem] whitespace-nowrap text-start">
|
||||
<a href={"/stocks/"+item?.symbol} class="sm:hover:text-white text-blue-400">
|
||||
{item?.symbol}
|
||||
</a>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="hidden sm:table-cell text-white text-sm sm:text-[1rem] whtitespace-nowrap text-white text-start">
|
||||
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-white text-start">
|
||||
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
|
||||
</td>
|
||||
|
||||
<td class="text-end text-sm sm:text-[1rem] whtitespace-nowrap font-medium text-white">
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap font-medium text-white">
|
||||
{item?.shortRatio}
|
||||
</td>
|
||||
|
||||
<td class="text-end text-sm sm:text-[1rem] whtitespace-nowrap font-medium text-white">
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap font-medium text-white">
|
||||
{abbreviateNumber(item?.sharesShort)}
|
||||
</td>
|
||||
|
||||
|
||||
<td class="text-end text-sm sm:text-[1rem] whtitespace-nowrap font-medium text-white">
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap font-medium text-white">
|
||||
{item?.shortFloatPercent}%
|
||||
</td>
|
||||
|
||||
<td class="text-end text-sm sm:text-[1rem] whtitespace-nowrap font-medium text-white">
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap font-medium text-white">
|
||||
{item?.shortOutStandingPercent}%
|
||||
</td>
|
||||
|
||||
|
||||
@ -545,7 +545,7 @@
|
||||
<span class="font-medium text-white">Type</span>
|
||||
<span class="text-white text-md text-end">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{/if}
|
||||
@ -623,7 +623,7 @@
|
||||
</td>
|
||||
<td class="text-sm sm:text-[1rem] text-end text-white">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{/if}
|
||||
|
||||
@ -363,7 +363,7 @@
|
||||
</label>
|
||||
</div>
|
||||
{#if portfolio?.at(0)?.overallReturn > 0}
|
||||
<span class="text-[#10DB06] text-sm sm:text-[1rem] mt-2">
|
||||
<span class="text-[#37C97D] text-sm sm:text-[1rem] mt-2">
|
||||
+{portfolio?.at(0)?.overallReturn?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if portfolio?.at(0)?.overallReturn < 0}
|
||||
@ -498,7 +498,7 @@
|
||||
{#if displayChange === "Change in %"}
|
||||
{#if item?.sinceBoughtChange >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] text-xs font-medium">+{item?.sinceBoughtChange?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D] text-xs font-medium">+{item?.sinceBoughtChange?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] text-xs font-medium">{item?.sinceBoughtChange?.toFixed(2)}%</span>
|
||||
@ -506,7 +506,7 @@
|
||||
{:else}
|
||||
{#if item?.sinceBoughtChange >=0}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] text-xs font-medium">+${(item?.numberOfShares * item?.currentPrice * item?.sinceBoughtChange/100 )?.toFixed(2)}</span>
|
||||
<span class="text-[#37C97D] text-xs font-medium">+${(item?.numberOfShares * item?.currentPrice * item?.sinceBoughtChange/100 )?.toFixed(2)}</span>
|
||||
{:else}
|
||||
<svg class="w-5 h-5 -mr-0.5 -mt-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#FF2F1F" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#FF2F1F] text-xs font-medium">${(item?.numberOfShares * item?.currentPrice * item?.sinceBoughtChange/100 )?.toFixed(2)}</span>
|
||||
@ -561,7 +561,7 @@
|
||||
|
||||
<div class="ml-auto text-gray-300 mt-1 text-sm">
|
||||
{#if item?.type === 'buy'}
|
||||
<span class="text-[#10DB06]">Bought</span> {item?.numberOfShares} shares at {item?.price?.toLocaleString(undefined, {
|
||||
<span class="text-[#37C97D]">Bought</span> {item?.numberOfShares} shares at {item?.price?.toLocaleString(undefined, {
|
||||
style: 'currency',
|
||||
currency: 'USD',
|
||||
})}
|
||||
|
||||
@ -365,7 +365,7 @@ $: charNumber = $screenWidth < 640 ? 15 : 40;
|
||||
|
||||
<td class="text-white font-medium text-sm sm:text-[1rem] whitespace-nowrap text-end border-b-[#09090B]">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -1341,7 +1341,7 @@ function handleInput(event) {
|
||||
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] font-medium border-b-[#09090B]">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage <= -1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -722,7 +722,7 @@ async function exportData(timePeriod:string) {
|
||||
><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z" /></g></g
|
||||
></svg
|
||||
>
|
||||
<span class="items-center justify-start text-[#10DB06] font-medium text-xs sm:text-sm">+{displayLegend?.change}%</span>
|
||||
<span class="items-center justify-start text-[#37C97D] font-medium text-xs sm:text-sm">+{displayLegend?.change}%</span>
|
||||
{:else if displayLegend?.change < 0}
|
||||
<svg class="inline-block w-5 h-5 mt-0.5 -mr-0.5 rotate-180" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
|
||||
><g id="evaArrowUpFill0"
|
||||
@ -744,7 +744,7 @@ async function exportData(timePeriod:string) {
|
||||
${prePostData?.price}
|
||||
</span>
|
||||
{#if prePostData?.changesPercentage >= 0}
|
||||
<span class="ml-1 items-center justify-start text-[#10DB06] font-medium text-xs sm:text-sm">({prePostData?.changesPercentage}%)</span>
|
||||
<span class="ml-1 items-center justify-start text-[#37C97D] font-medium text-xs sm:text-sm">({prePostData?.changesPercentage}%)</span>
|
||||
{:else if prePostData?.changesPercentage < 0}
|
||||
<span class="ml-1 items-center justify-start text-[#FF2F1F] font-medium text-xs sm:text-sm">({prePostData?.changesPercentage}%)</span>
|
||||
{/if}
|
||||
|
||||
@ -182,7 +182,7 @@ changeTab(0)
|
||||
/>
|
||||
</label>
|
||||
|
||||
<div class="mt-1 break-words font-semibold leading-8 text-light text-xl {changesPercentage >= 0 ? 'text-[#10DB06]' : changesPercentage < 0 ? 'text-[#FF2F1F]' : 'text-white'}">
|
||||
<div class="mt-1 break-words font-semibold leading-8 text-light text-xl {changesPercentage >= 0 ? 'text-[#37C97D]' : changesPercentage < 0 ? 'text-[#FF2F1F]' : 'text-white'}">
|
||||
{changesPercentage > 0 ? '+' : ''}{changesPercentage}
|
||||
</div>
|
||||
</div>
|
||||
@ -279,7 +279,7 @@ changeTab(0)
|
||||
|
||||
<td class="text-sm sm:text-[1rem] whitespace-nowrap text-center text-white">
|
||||
<div class="flex flex-col items-start">
|
||||
<span class="text-[1rem] font-medium {['Strong Buy', 'Buy']?.includes(item?.rating_current) ? 'text-[#10DB06]' : item?.rating_current === 'Hold' ? 'text-[#FF7070]' : ['Strong Sell','Sell']?.includes(item?.rating_current) ? 'text-[#FF2F1F]' : ''}">
|
||||
<span class="text-[1rem] font-medium {['Strong Buy', 'Buy']?.includes(item?.rating_current) ? 'text-[#37C97D]' : item?.rating_current === 'Hold' ? 'text-[#FF7070]' : ['Strong Sell','Sell']?.includes(item?.rating_current) ? 'text-[#FF2F1F]' : ''}">
|
||||
{item?.rating_current}
|
||||
</span>
|
||||
<span class="font-medium text-white">{item?.action_company?.replace('Initiates Coverage On','Initiates')}</span>
|
||||
|
||||
@ -558,7 +558,7 @@ onMount(async() => {
|
||||
</td>
|
||||
<td class="font-medium text-end text-sm sm:text-[1rem] whitespace-nowrap text-white border-b border-[#09090B]">
|
||||
{#if item?.transactionType === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.transactionType === 'Grant'}
|
||||
<span class="text-white">Grant</span>
|
||||
{:else if item?.transactionType === 'Sold'}
|
||||
|
||||
@ -278,7 +278,7 @@ onMount(async () => {
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white border-b border-b-[#09090B]">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{:else if item?.type === 'Exchange'}
|
||||
@ -365,7 +365,7 @@ onMount(async () => {
|
||||
<span class="font-medium text-slate-300 text-ends">Type</span>
|
||||
<span class="text-white font-medium text-end">
|
||||
{#if item?.type === 'Bought'}
|
||||
<span class="text-[#10DB06]">Bought</span>
|
||||
<span class="text-[#37C97D]">Bought</span>
|
||||
{:else if item?.type === 'Sold'}
|
||||
<span class="text-[#FF2F1F]">Sold</span>
|
||||
{:else if item?.type === 'Exchange'}
|
||||
|
||||
@ -770,7 +770,7 @@ $: {
|
||||
|
||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||
{#if item?.changesPercentage >=0}
|
||||
<span class="text-[#10DB06]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
<span class="text-[#37C97D]">+{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{item?.changesPercentage <= -1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
@ -615,9 +615,9 @@ $: {
|
||||
{#if (item?.value === 0 && tableList[index+1]?.value < 0)}
|
||||
<span class="text-[#FF2F1F]">-100.00%</span>
|
||||
{:else if (item?.value === 0 && tableList[index+1]?.value > 0)}
|
||||
<span class="text-[#10DB06]">100.00%</span>
|
||||
<span class="text-[#37C97D]">100.00%</span>
|
||||
{:else if ((item?.value - tableList[index+1]?.value) > 0)}
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
{(((item?.value - tableList[index+1]?.value) / Math.abs(item?.value)) * 100)?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if ((item?.value - tableList[index+1]?.value) < 0)}
|
||||
|
||||
@ -571,9 +571,9 @@ $: {
|
||||
{#if (item?.value === 0 && tableList[index+1]?.value < 0)}
|
||||
<span class="text-[#FF2F1F]">-100.00%</span>
|
||||
{:else if (item?.value === 0 && tableList[index+1]?.value > 0)}
|
||||
<span class="text-[#10DB06]">100.00%</span>
|
||||
<span class="text-[#37C97D]">100.00%</span>
|
||||
{:else if ((item?.value - tableList[index+1]?.value) > 0)}
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
{(((item?.value - tableList[index+1]?.value) / Math.abs(item?.value)) * 100)?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if ((item?.value - tableList[index+1]?.value) < 0)}
|
||||
|
||||
@ -336,7 +336,7 @@ optionsGrowth = plotGrowth();
|
||||
The number of employees {changeRate >=0 ? 'increased' : 'decreased'} by
|
||||
{abbreviateNumber(changeRate)}
|
||||
or
|
||||
<span class="{changeRate >=0 ? 'text-[#10DB06]' : 'text-[#FF2F1F]'}">
|
||||
<span class="{changeRate >=0 ? 'text-[#37C97D]' : 'text-[#FF2F1F]'}">
|
||||
{growthRate}%
|
||||
</span>
|
||||
compared to the previous year.
|
||||
@ -384,7 +384,7 @@ optionsGrowth = plotGrowth();
|
||||
{#if growthRate >= 0}
|
||||
<span class="text-white text-md font-medium">
|
||||
<svg class="w-5 h-5 inline-block -mr-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g id="evaArrowUpFill0"><g id="evaArrowUpFill1"><path id="evaArrowUpFill2" fill="#10db06" d="M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1a2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1Z"/></g></g></svg>
|
||||
<span class="text-[#10DB06] text-[1rem]">+{growthRate}%</span>
|
||||
<span class="text-[#37C97D] text-[1rem]">+{growthRate}%</span>
|
||||
</span>
|
||||
{:else if growthRate < 0}
|
||||
<div class="text-white text-md font-medium">
|
||||
@ -488,7 +488,7 @@ optionsGrowth = plotGrowth();
|
||||
0.00%
|
||||
{:else}
|
||||
{#if (item?.employeeCount- historyList[index+1]?.employeeCount) > 0}
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
+{(((item?.employeeCount-historyList[index+1]?.employeeCount) / item?.employeeCount) * 100 )?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if (item?.employeeCount - historyList[index+1]?.employeeCount ) < 0}
|
||||
|
||||
@ -541,9 +541,9 @@ $: {
|
||||
{#if (item?.value === 0 && tableList[index+1]?.value < 0)}
|
||||
<span class="text-[#FF2F1F]">-100.00%</span>
|
||||
{:else if (item?.value === 0 && tableList[index+1]?.value > 0)}
|
||||
<span class="text-[#10DB06]">100.00%</span>
|
||||
<span class="text-[#37C97D]">100.00%</span>
|
||||
{:else if ((item?.value - tableList[index+1]?.value) > 0)}
|
||||
<span class="text-[#10DB06]">
|
||||
<span class="text-[#37C97D]">
|
||||
{(((item?.value - tableList[index+1]?.value) / Math.abs(item?.value)) * 100)?.toFixed(2)}%
|
||||
</span>
|
||||
{:else if ((item?.value - tableList[index+1]?.value) < 0)}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user