update screener rules

This commit is contained in:
MuslemRahimi 2025-04-02 12:49:54 +02:00
parent 248a531bc4
commit a965089c0a
71 changed files with 386 additions and 365 deletions

View File

@ -59,10 +59,10 @@
r="16" r="16"
fill="none" fill="none"
class="stroke-current {score >= 7 class="stroke-current {score >= 7
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: score >= 4 : score >= 4
? 'text-blue-700 dark:text-[#fff]' ? 'text-blue-700 dark:text-[#fff]'
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
stroke-width="3" stroke-width="3"
stroke-dasharray="100.48" stroke-dasharray="100.48"
stroke-dashoffset={100.48 - stroke-dashoffset={100.48 -

View File

@ -837,9 +837,9 @@
{:else} {:else}
<span <span
class={item?.growth > 0 class={item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth}% {item?.growth}%
@ -888,9 +888,9 @@
{:else} {:else}
<span <span
class={item?.growth > 0 class={item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth}% {item?.growth}%
@ -938,9 +938,9 @@
{:else} {:else}
<span <span
class={item?.growth > 0 class={item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth}% {item?.growth}%
@ -989,9 +989,9 @@
{:else} {:else}
<span <span
class={item?.growth > 0 class={item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth}% {item?.growth}%

View File

@ -433,7 +433,7 @@
{#if index === tableList?.length - 1} {#if index === tableList?.length - 1}
n/a n/a
{:else if item?.shortVolume > tableList[index + 1]?.shortVolume} {:else if item?.shortVolume > tableList[index + 1]?.shortVolume}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
+{( +{(
((item?.shortVolume - ((item?.shortVolume -
tableList[index + 1]?.shortVolume) / tableList[index + 1]?.shortVolume) /
@ -442,7 +442,7 @@
)?.toFixed(2)}% )?.toFixed(2)}%
</span> </span>
{:else if item?.shortVolume < tableList[index + 1]?.shortVolume} {:else if item?.shortVolume < tableList[index + 1]?.shortVolume}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
-{( -{(
Math.abs( Math.abs(
(item?.shortVolume - (item?.shortVolume -

View File

@ -83,8 +83,8 @@
rawData?.dividendPrior - rawData?.dividendPrior -
1 > 1 >
0 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{( {(
(rawData?.dividend / rawData?.dividendPrior - 1) * (rawData?.dividend / rawData?.dividendPrior - 1) *

View File

@ -92,8 +92,8 @@
)}, with )}, with
<span <span
class=" {revenueRatio > 0 class=" {revenueRatio > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}">{revenueRatio}%</span : 'text-red-800 dark:text-[#FF2F1F]'}">{revenueRatio}%</span
> >
YoY {revenueRatio < 0 ? "decline" : "growth"}. YoY {revenueRatio < 0 ? "decline" : "growth"}.
</li> </li>
@ -109,8 +109,8 @@
class=" {epsRatio === null class=" {epsRatio === null
? '' ? ''
: epsRatio > 0 : epsRatio > 0
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{epsRatio === null ? "n/a" : `${epsRatio}%`} {epsRatio === null ? "n/a" : `${epsRatio}%`}
</span> </span>

View File

@ -163,9 +163,9 @@
{:else} {:else}
<span <span
class={item?.growth !== null && item?.growth > 0 class={item?.growth !== null && item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth !== null && Math.abs(item?.growth - 0) > 0 {item?.growth !== null && Math.abs(item?.growth - 0) > 0
@ -197,9 +197,9 @@
{:else} {:else}
<span <span
class={item?.growth !== null && item?.growth > 0 class={item?.growth !== null && item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth !== null && Math.abs(item?.growth - 0) > 0 {item?.growth !== null && Math.abs(item?.growth - 0) > 0
@ -231,9 +231,9 @@
{:else} {:else}
<span <span
class={item?.growth !== null && item?.growth > 0 class={item?.growth !== null && item?.growth > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: item?.growth < 0 : item?.growth < 0
? "text-red-700 dark:text-[#FF2F1F]" ? "text-red-800 dark:text-[#FF2F1F]"
: ""} : ""}
> >
{item?.growth !== null && Math.abs(item?.growth - 0) > 0 {item?.growth !== null && Math.abs(item?.growth - 0) > 0

View File

@ -387,7 +387,7 @@
{#if index === tableList?.length - 1} {#if index === tableList?.length - 1}
n/a n/a
{:else if item?.failToDeliver > tableList[index + 1]?.failToDeliver} {:else if item?.failToDeliver > tableList[index + 1]?.failToDeliver}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
+{( +{(
((item?.failToDeliver - ((item?.failToDeliver -
tableList[index + 1]?.failToDeliver) / tableList[index + 1]?.failToDeliver) /
@ -396,7 +396,7 @@
)?.toFixed(2)}% )?.toFixed(2)}%
</span> </span>
{:else if item?.failToDeliver < tableList[index + 1]?.failToDeliver} {:else if item?.failToDeliver < tableList[index + 1]?.failToDeliver}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
-{( -{(
Math.abs( Math.abs(
(item?.failToDeliver - (item?.failToDeliver -

View File

@ -130,24 +130,24 @@
<td <td
class="{item?.profitMargin >= 0 class="{item?.profitMargin >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
> >
{abbreviateNumber(item?.profitMargin)}% {abbreviateNumber(item?.profitMargin)}%
</td> </td>
<td <td
class="{item?.avgChange1D >= 0 class="{item?.avgChange1D >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap" : 'text-red-800 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{item?.avgChange1D?.toFixed(2) ?? "n/a"}% {item?.avgChange1D?.toFixed(2) ?? "n/a"}%
</td> </td>
<td <td
class="{item?.avgChange1Y >= 0 class="{item?.avgChange1Y >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap" : 'text-red-800 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{item?.avgChange1Y?.toFixed(2) ?? "n/a"}% {item?.avgChange1Y?.toFixed(2) ?? "n/a"}%
</td> </td>

View File

@ -62,7 +62,7 @@
{#if errors} {#if errors}
<label for={id} class=" py-0 pt-1 text-xs"> <label for={id} class=" py-0 pt-1 text-xs">
<span class="text-red-700 font-semibold dark:font-normal dark:text-error"> <span class="text-red-800 font-semibold dark:font-normal dark:text-error">
{errors} {errors}
</span> </span>
</label> </label>

View File

@ -87,9 +87,9 @@
>, reflecting a >, reflecting a
<span <span
class="{revenueRatio >= 0 && revenueRatio !== 'Infinity' class="{revenueRatio >= 0 && revenueRatio !== 'Infinity'
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: revenueRatio < 0 && revenueRatio !== 'Infinity' : revenueRatio < 0 && revenueRatio !== 'Infinity'
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-muted dark:text-white'} font-semibold" : 'text-muted dark:text-white'} font-semibold"
>{revenueRatio !== "Infinity" >{revenueRatio !== "Infinity"
? abbreviateNumber(revenueRatio) + "%" ? abbreviateNumber(revenueRatio) + "%"
@ -105,8 +105,8 @@
<span class="font-semibold">{rawData?.epsEst}</span>, making a <span class="font-semibold">{rawData?.epsEst}</span>, making a
<span <span
class="{epsRatio > 0 class="{epsRatio > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} font-semibold" : 'text-red-800 dark:text-[#FF2F1F]'} font-semibold"
>{epsRatio}%</span >{epsRatio}%</span
> >
{epsRatio > 0 ? "increase" : epsRatio < 0 ? "decrease" : ""} YoY. {epsRatio > 0 ? "increase" : epsRatio < 0 ? "decrease" : ""} YoY.

View File

@ -975,11 +975,11 @@
</td> </td>
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.changeOI >= 0 && item?.changeOI !== null} {#if item?.changeOI >= 0 && item?.changeOI !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0 && item?.changeOI !== null} {:else if item?.changeOI < 0 && item?.changeOI !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")}</span >{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else} {:else}
@ -989,11 +989,11 @@
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined} {#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI + "%"}</span >+{item?.changesPercentageOI + "%"}</span
> >
{:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== undefined} {:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== undefined}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI + "%"}</span >{item?.changesPercentageOI + "%"}</span
> >
{:else if item?.changesPercentageOI === 0 && item?.changesPercentageOI !== undefined} {:else if item?.changesPercentageOI === 0 && item?.changesPercentageOI !== undefined}

View File

@ -414,11 +414,11 @@
<td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"> <td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap">
{#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null} {#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null} {:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else} {:else}

View File

@ -381,11 +381,11 @@
<td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"> <td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap">
{#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null} {#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null} {:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else} {:else}

View File

@ -471,11 +471,11 @@
<td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"> <td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap">
{#if item?.putCallRatio <= 1 && item?.putCallRatio !== null} {#if item?.putCallRatio <= 1 && item?.putCallRatio !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>{item?.putCallRatio?.toFixed(2)}</span >{item?.putCallRatio?.toFixed(2)}</span
> >
{:else if item?.putCallRatio >= 0 && item?.putCallRatio !== null} {:else if item?.putCallRatio >= 0 && item?.putCallRatio !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.putCallRatio?.toFixed(2)}</span >{item?.putCallRatio?.toFixed(2)}</span
> >
{:else} {:else}

View File

@ -603,8 +603,8 @@
> >
<span <span
class={item?.option_type === "C" class={item?.option_type === "C"
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
{item?.option_type === "C" ? "Call" : "Put"} {item?.option_type === "C" ? "Call" : "Put"}
</span> </span>
@ -667,11 +667,11 @@
class=" text-sm sm:text-[1rem] text-end whitespace-nowrap" class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"
> >
{#if item?.changeOI >= 0} {#if item?.changeOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0} {:else if item?.changeOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")}</span >{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else} {:else}
@ -723,8 +723,8 @@
> >
<span <span
class={item?.option_type === "C" class={item?.option_type === "C"
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
{item?.option_type === "C" ? "Call" : "Put"} {item?.option_type === "C" ? "Call" : "Put"}
</span> </span>
@ -787,11 +787,11 @@
class=" text-sm sm:text-[1rem] text-end whitespace-nowrap" class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"
> >
{#if item?.changeOI >= 0} {#if item?.changeOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0} {:else if item?.changeOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")}</span >{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else} {:else}
@ -840,8 +840,8 @@
> >
Contract: <span Contract: <span
class={optionType === "Calls" class={optionType === "Calls"
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{ticker} >{ticker}
{strikePrice} {strikePrice}
{optionType} {optionType}
@ -962,11 +962,11 @@
</td> </td>
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.changeOI >= 0 && item?.changeOI !== null} {#if item?.changeOI >= 0 && item?.changeOI !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0 && item?.changeOI !== null} {:else if item?.changeOI < 0 && item?.changeOI !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")}</span >{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else} {:else}
@ -976,11 +976,11 @@
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined} {#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI + "%"}</span >+{item?.changesPercentageOI + "%"}</span
> >
{:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== undefined} {:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== undefined}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI + "%"}</span >{item?.changesPercentageOI + "%"}</span
> >
{:else if item?.changesPercentageOI === 0 && item?.changesPercentageOI !== undefined} {:else if item?.changesPercentageOI === 0 && item?.changesPercentageOI !== undefined}

View File

@ -359,12 +359,12 @@
<td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"> <td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap">
{#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null} {#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null}
<span <span
class="font-semibold dark:font-normal text-green-700 dark:text-[#00FC50]" class="font-semibold dark:font-normal text-green-800 dark:text-[#00FC50]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null} {:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null}
<span <span
class="font-semibold dark:font-normal text-red-700 dark:text-[#FF2F1F]" class="font-semibold dark:font-normal text-red-800 dark:text-[#FF2F1F]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else} {:else}

View File

@ -327,12 +327,12 @@
<td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap"> <td class=" text-sm sm:text-[1rem] text-end whitespace-nowrap">
{#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null} {#if item?.put_call_ratio <= 1 && item?.put_call_ratio !== null}
<span <span
class="font-semibold dark:font-normal text-green-700 dark:text-[#00FC50]" class="font-semibold dark:font-normal text-green-800 dark:text-[#00FC50]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null} {:else if item?.put_call_ratio > 1 && item?.put_call_ratio !== null}
<span <span
class="font-semibold dark:font-normal text-red-700 dark:text-[#FF2F1F]" class="font-semibold dark:font-normal text-red-800 dark:text-[#FF2F1F]"
>{item?.put_call_ratio?.toFixed(2)}</span >{item?.put_call_ratio?.toFixed(2)}</span
> >
{:else} {:else}

View File

@ -808,8 +808,8 @@
> >
<span <span
class="inline-block px-2 {item?.optionType === 'Calls' class="inline-block px-2 {item?.optionType === 'Calls'
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{item?.optionType} {item?.optionType}
</span> </span>
@ -856,9 +856,9 @@
<td <td
class="text-sm sm:text-[1rem] text-end whitespace-nowrap {item?.sentiment === class="text-sm sm:text-[1rem] text-end whitespace-nowrap {item?.sentiment ===
'Bullish' 'Bullish'
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: item?.sentiment === 'Bearish' : item?.sentiment === 'Bearish'
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-orange-600 dark:text-[#C8A32D]'} " : 'text-orange-600 dark:text-[#C8A32D]'} "
> >
{item?.sentiment} {item?.sentiment}
@ -909,8 +909,8 @@
> >
Contract: <span Contract: <span
class={optionType === "Calls" class={optionType === "Calls"
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{ticker} >{ticker}
{strikePrice} {strikePrice}
{optionType} {optionType}
@ -1031,11 +1031,11 @@
</td> </td>
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.changeOI >= 0 && item?.changeOI !== null} {#if item?.changeOI >= 0 && item?.changeOI !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0 && item?.changeOI !== null} {:else if item?.changeOI < 0 && item?.changeOI !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")}</span >{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else} {:else}
@ -1045,11 +1045,11 @@
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined} {#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI + "%"}</span >+{item?.changesPercentageOI + "%"}</span
> >
{:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== undefined} {:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== undefined}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI + "%"}</span >{item?.changesPercentageOI + "%"}</span
> >
{:else if item?.changesPercentageOI === 0 && item?.changesPercentageOI !== undefined} {:else if item?.changesPercentageOI === 0 && item?.changesPercentageOI !== undefined}

View File

@ -487,13 +487,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null} {#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else if item?.changesPercentage < 0 && item?.changesPercentage !== null} {:else if item?.changesPercentage < 0 && item?.changesPercentage !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -513,13 +513,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI >= 0 && item?.changesPercentageOI !== null} {#if item?.changesPercentageOI >= 0 && item?.changesPercentageOI !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI >= 1000 >+{item?.changesPercentageOI >= 1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}%</span : item?.changesPercentageOI?.toFixed(2)}%</span
> >
{:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== null} {:else if item?.changesPercentageOI < 0 && item?.changesPercentageOI !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI <= -1000 >{item?.changesPercentageOI <= -1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}% : item?.changesPercentageOI?.toFixed(2)}%

View File

@ -194,7 +194,7 @@
<div class="sm:mt-10"> <div class="sm:mt-10">
The Options activity signals a The Options activity signals a
{#if signal === "Bullish"} {#if signal === "Bullish"}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
<svg <svg
class="w-6 h-6 sm:w-7 sm:h-7 inline-block" class="w-6 h-6 sm:w-7 sm:h-7 inline-block"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -224,7 +224,7 @@
{signal} {signal}
</span> </span>
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
<svg <svg
class="w-6 h-6 sm:w-7 sm:h-7 inline-block" class="w-6 h-6 sm:w-7 sm:h-7 inline-block"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"

View File

@ -77,9 +77,9 @@
r="16" r="16"
fill="none" fill="none"
class="stroke-current {oneYearResult > 5 class="stroke-current {oneYearResult > 5
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: oneYearResult < 5 : oneYearResult < 5
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-white'} text-opacity-[0.7]" : 'text-white'} text-opacity-[0.7]"
stroke-width="3.5" stroke-width="3.5"
stroke-dasharray="100" stroke-dasharray="100"
@ -114,9 +114,9 @@
r="16" r="16"
fill="none" fill="none"
class="stroke-current {oneMonthResult > 5 class="stroke-current {oneMonthResult > 5
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: oneMonthResult < 5 : oneMonthResult < 5
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-white'} " : 'text-white'} "
stroke-width="4" stroke-width="4"
stroke-dasharray="100" stroke-dasharray="100"

View File

@ -558,13 +558,13 @@
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap" class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{#if item?.changeInSharesNumberPercentage >= 0} {#if item?.changeInSharesNumberPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{abbreviateNumber( >+{abbreviateNumber(
item?.changeInSharesNumberPercentage?.toFixed(2), item?.changeInSharesNumberPercentage?.toFixed(2),
)}%</span )}%</span
> >
{:else if item?.changeInSharesNumberPercentage < 0} {:else if item?.changeInSharesNumberPercentage < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{abbreviateNumber( >{abbreviateNumber(
item?.changeInSharesNumberPercentage?.toFixed(2), item?.changeInSharesNumberPercentage?.toFixed(2),
)}%</span )}%</span

View File

@ -69,9 +69,9 @@
animation: false, animation: false,
}, },
title: { title: {
text: `<div class="text-muted dark:text-gray-200 mt-3 text-center font-normal text-2xl">Price Target: <span class="${changesPercentage >= 0 ? "text-green-700 dark:text-[#00FC50]" : "text-red-700 dark:text-[#FF2F1F]"}">$${priceTarget}</span></div> text: `<div class="text-muted dark:text-gray-200 mt-3 text-center font-normal text-2xl">Price Target: <span class="${changesPercentage >= 0 ? "text-green-800 dark:text-[#00FC50]" : "text-red-800 dark:text-[#FF2F1F]"}">$${priceTarget}</span></div>
<div class="text-muted dark:text-gray-200 mb-2 text-center font-normal text-xl">(${changesPercentage}% ${changesPercentage >= 0 ? "upside" : "downside"})</div> <div class="text-muted dark:text-gray-200 mb-2 text-center font-normal text-xl">(${changesPercentage}% ${changesPercentage >= 0 ? "upside" : "downside"})</div>
<div class="text-muted dark:text-gray-200 text-center font-normal text-xl flex justify-center items-center">Analyst Consensus: <span class="ml-1 ${consensusRating === "Buy" ? "text-green-700 dark:text-[#00FC50]" : consensusRating === "Sell" ? "text-red-700 dark:text-[#FF2F1F]" : consensusRating === "Hold" ? "text-orange-500 dark:text-[#D5AB31]" : "text-muted dark:text-white"}">${consensusRating ?? "n/a"}</span></div>`, <div class="text-muted dark:text-gray-200 text-center font-normal text-xl flex justify-center items-center">Analyst Consensus: <span class="ml-1 ${consensusRating === "Buy" ? "text-green-800 dark:text-[#00FC50]" : consensusRating === "Sell" ? "text-red-800 dark:text-[#FF2F1F]" : consensusRating === "Hold" ? "text-orange-500 dark:text-[#D5AB31]" : "text-muted dark:text-white"}">${consensusRating ?? "n/a"}</span></div>`,
style: { style: {
color: "white", color: "white",
// Using inline CSS for margin-top and margin-bottom // Using inline CSS for margin-top and margin-bottom

View File

@ -901,11 +901,11 @@
{item[column.key]?.toLocaleString("en-US")} {item[column.key]?.toLocaleString("en-US")}
{:else if column?.type === "decimalSign"} {:else if column?.type === "decimalSign"}
{#if item[column.key] >= 0} {#if item[column.key] >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item[column.key]?.toLocaleString("en-US")}</span >+{item[column.key]?.toLocaleString("en-US")}</span
> >
{:else if item[column.key] < 0} {:else if item[column.key] < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item[column.key]?.toLocaleString("en-US")}</span >{item[column.key]?.toLocaleString("en-US")}</span
> >
{/if} {/if}
@ -937,11 +937,11 @@
: "< 0.01%"} : "< 0.01%"}
{:else if column.type === "percentSign"} {:else if column.type === "percentSign"}
{#if item[column.key] > 0} {#if item[column.key] > 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{abbreviateNumber(item[column.key]?.toFixed(2))}%</span >+{abbreviateNumber(item[column.key]?.toFixed(2))}%</span
> >
{:else if item[column.key] < 0} {:else if item[column.key] < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{abbreviateNumber(item[column.key]?.toFixed(2))}%</span >{abbreviateNumber(item[column.key]?.toFixed(2))}%</span
> >
{:else} {:else}
@ -952,10 +952,10 @@
{:else if column.type === "sentiment"} {:else if column.type === "sentiment"}
<div <div
class={item[column.key] >= 55 class={item[column.key] >= 55
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: item[column.key] >= 50 : item[column.key] >= 50
? "text-[#E57C34]" ? "text-[#E57C34]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
<div class="flex flex-row items-center justify-end"> <div class="flex flex-row items-center justify-end">
<div class=""> <div class="">

View File

@ -128,11 +128,11 @@
class="border-b-[#09090B] text-end text-sm sm:text-[1rem] whitespace-nowrap" class="border-b-[#09090B] text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage?.toFixed(2)}%</span >+{item?.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage?.toFixed(2)}% >{item?.changesPercentage?.toFixed(2)}%
</span> </span>
{/if} {/if}

View File

@ -219,13 +219,13 @@
class="text-right md:table.-cell xl:table.-column text-sm sm:text-[1rem] text-white" class="text-right md:table.-cell xl:table.-column text-sm sm:text-[1rem] text-white"
> >
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -338,13 +338,13 @@
class="text-right md:table.-cell xl:table.-column text-sm sm:text-[1rem] text-white" class="text-right md:table.-cell xl:table.-column text-sm sm:text-[1rem] text-white"
> >
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -513,26 +513,26 @@
><td class="py-[3px] text-left lg:py-0.5">Change</td> ><td class="py-[3px] text-left lg:py-0.5">Change</td>
<td <td
class={analystReport?.lowPriceChange > 0 class={analystReport?.lowPriceChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{analystReport?.lowPriceChange}%</td >{analystReport?.lowPriceChange}%</td
> >
<td <td
class={analystReport?.avgPriceChange > 0 class={analystReport?.avgPriceChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{analystReport?.avgPriceChange}%</td >{analystReport?.avgPriceChange}%</td
> >
<td <td
class={analystReport?.medianPriceChange > 0 class={analystReport?.medianPriceChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{analystReport?.medianPriceChange}%</td >{analystReport?.medianPriceChange}%</td
> >
<td <td
class={analystReport?.highPriceChange > 0 class={analystReport?.highPriceChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{analystReport?.highPriceChange}%</td >{analystReport?.highPriceChange}%</td
></tr ></tr
></tbody ></tbody

View File

@ -237,7 +237,7 @@
> >
{#if Number(item?.successRate) >= 0} {#if Number(item?.successRate) >= 0}
<span <span
class="font-semibold dark:font-normal text-green-700 dark:text-[#00FC50]" class="font-semibold dark:font-normal text-green-800 dark:text-[#00FC50]"
>+{Number(item?.successRate)?.toFixed(2)}%</span >+{Number(item?.successRate)?.toFixed(2)}%</span
> >
{/if} {/if}
@ -248,7 +248,7 @@
> >
{#if Number(item?.avgReturn) >= 0} {#if Number(item?.avgReturn) >= 0}
<span <span
class="font-semibold dark:font-normal text-green-700 dark:text-[#00FC50]" class="font-semibold dark:font-normal text-green-800 dark:text-[#00FC50]"
>+{Number(item?.avgReturn)?.toFixed(2)}%</span >+{Number(item?.avgReturn)?.toFixed(2)}%</span
> >
{:else} {:else}

View File

@ -289,9 +289,9 @@
<div class="text-2xl font-bold tracking-tight"> <div class="text-2xl font-bold tracking-tight">
<span <span
class={successRate >= 0 && successRate !== undefined class={successRate >= 0 && successRate !== undefined
? "before:content-['+'] text-green-700 dark:text-[#36D984]" ? "before:content-['+'] text-green-800 dark:text-[#36D984]"
: successRate < 0 && successRate !== undefined : successRate < 0 && successRate !== undefined
? "text-red-700 dark:text-[#EF4444]" ? "text-red-800 dark:text-[#EF4444]"
: ""} : ""}
>{successRate !== undefined >{successRate !== undefined
? successRate?.toFixed(2) + "%" ? successRate?.toFixed(2) + "%"
@ -310,9 +310,9 @@
<div class="text-2xl font-bold tracking-tight"> <div class="text-2xl font-bold tracking-tight">
<span <span
class={avgReturn >= 0 && avgReturn !== undefined class={avgReturn >= 0 && avgReturn !== undefined
? "before:content-['+'] text-green-700 dark:text-[#36D984]" ? "before:content-['+'] text-green-800 dark:text-[#36D984]"
: avgReturn < 0 && avgReturn !== undefined : avgReturn < 0 && avgReturn !== undefined
? "text-red-700 dark:text-[#EF4444]" ? "text-red-800 dark:text-[#EF4444]"
: ""} : ""}
>{avgReturn !== undefined >{avgReturn !== undefined
? avgReturn?.toFixed(2) + "%" ? avgReturn?.toFixed(2) + "%"
@ -514,9 +514,9 @@
<td <td
class="{item?.upside >= 0 && item?.upside !== null class="{item?.upside >= 0 && item?.upside !== null
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: item?.upside < 0 && item?.upside !== null : item?.upside < 0 && item?.upside !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} text-end text-sm sm:text-[1rem] whitespace-nowrap" : ''} text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{item?.upside !== null ? item?.upside + "%" : "n/a"} {item?.upside !== null ? item?.upside + "%" : "n/a"}

View File

@ -259,9 +259,9 @@
<td <td
class="{item?.upside >= 0 && item?.upside !== null class="{item?.upside >= 0 && item?.upside !== null
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: item?.upside < 0 && item?.upside !== null : item?.upside < 0 && item?.upside !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} text-end text-sm sm:text-[1rem] whitespace-nowrap" : ''} text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{item?.upside !== null ? item?.upside + "%" : "n/a"} {item?.upside !== null ? item?.upside + "%" : "n/a"}

View File

@ -230,13 +230,13 @@
class="text-white text-end text-sm sm:text-[1rem] border-b-[#09090B]" class="text-white text-end text-sm sm:text-[1rem] border-b-[#09090B]"
> >
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? item?.changesPercentage ? item?.changesPercentage
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? item?.changesPercentage ? item?.changesPercentage
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%

View File

@ -504,7 +504,7 @@
<span class="ml-1"></span> <span class="ml-1"></span>
{:else if item?.revenueEst / item?.revenuePrior - 1 >= 0} {:else if item?.revenueEst / item?.revenuePrior - 1 >= 0}
<span <span
class="ml-1 text-green-700 dark:text-[#00FC50]" class="ml-1 text-green-800 dark:text-[#00FC50]"
> >
+{( +{(
(item?.revenueEst / (item?.revenueEst /
@ -515,7 +515,7 @@
</span> </span>
{:else} {:else}
<span <span
class="ml-1 text-red-700 dark:text-[#FF2F1F]" class="ml-1 text-red-800 dark:text-[#FF2F1F]"
> >
{( {(
(item?.revenueEst / (item?.revenueEst /
@ -541,7 +541,7 @@
{#if item?.epsEst !== null && item?.epsPrior !== null && item?.epsPrior !== 0} {#if item?.epsEst !== null && item?.epsPrior !== null && item?.epsPrior !== 0}
{#if item?.epsEst / item?.epsPrior - 1 >= 0} {#if item?.epsEst / item?.epsPrior - 1 >= 0}
<span <span
class="ml-1 text-green-700 dark:text-[#00FC50]" class="ml-1 text-green-800 dark:text-[#00FC50]"
> >
+{( +{(
(item?.epsEst / item?.epsPrior - 1) * (item?.epsEst / item?.epsPrior - 1) *
@ -550,7 +550,7 @@
</span> </span>
{:else} {:else}
<span <span
class="ml-1 text-red-700 dark:text-[#FF2F1F]" class="ml-1 text-red-800 dark:text-[#FF2F1F]"
> >
{( {(
(item?.epsEst / item?.epsPrior - 1) * (item?.epsEst / item?.epsPrior - 1) *

View File

@ -770,15 +770,15 @@
> >
<span <span
class={displayLegend?.change >= 0 class={displayLegend?.change >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
{displayLegend?.change} {displayLegend?.change}
</span> </span>
<span <span
class={displayLegend?.changesPercentage >= 0 class={displayLegend?.changesPercentage >= 0
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
({displayLegend?.changesPercentage}%) ({displayLegend?.changesPercentage}%)
</span> </span>
@ -814,8 +814,8 @@
<div <div
class="mt-1.5 block text-sm sm:mt-0 sm:inline sm:text-lg {prePostData?.changesPercentage >= class="mt-1.5 block text-sm sm:mt-0 sm:inline sm:text-lg {prePostData?.changesPercentage >=
0 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{prePostData?.changesPercentage?.toFixed( {prePostData?.changesPercentage?.toFixed(
2, 2,

View File

@ -707,8 +707,8 @@
> >
<span <span
class={displayLegend?.graphChange >= 0 class={displayLegend?.graphChange >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
{displayLegend?.graphChange ?? {displayLegend?.graphChange ??
data?.getStockQuote?.changesPercentage?.toFixed(2)}% data?.getStockQuote?.changesPercentage?.toFixed(2)}%

View File

@ -466,10 +466,10 @@
<td <td
class="text-sm sm:text-[1rem] {item?.changesPercentage >= class="text-sm sm:text-[1rem] {item?.changesPercentage >=
0 && item?.changesPercentage !== null 0 && item?.changesPercentage !== null
? "text-green-700 dark:text-[#00FC50] before:content-['+'] " ? "text-green-800 dark:text-[#00FC50] before:content-['+'] "
: item?.changesPercentage < 0 && : item?.changesPercentage < 0 &&
item?.changesPercentage !== null item?.changesPercentage !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} text-end" : ''} text-end"
> >
{item?.changesPercentage !== null {item?.changesPercentage !== null

View File

@ -237,7 +237,7 @@
r="16" r="16"
fill="none" fill="none"
class="stroke-current {buySellRatio >= 0.5 class="stroke-current {buySellRatio >= 0.5
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: 'text-[#EE5365]'} " : 'text-[#EE5365]'} "
stroke-width="3" stroke-width="3"
stroke-dasharray="100" stroke-dasharray="100"
@ -394,11 +394,11 @@
class="text-end text-sm sm:text-[1rem] whitespace-nowrap" class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{#if item?.type === "Bought"} {#if item?.type === "Bought"}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>Bought</span >Bought</span
> >
{:else if item?.type === "Sold"} {:else if item?.type === "Sold"}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>Sold</span >Sold</span
> >
{:else if item?.type === "Exchange"} {:else if item?.type === "Exchange"}

View File

@ -402,13 +402,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null} {#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else if item?.changesPercentage < 0 && item?.changesPercentage !== null} {:else if item?.changesPercentage < 0 && item?.changesPercentage !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -526,11 +526,11 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changeOI >= 0} {#if item?.changeOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0} {:else if item?.changeOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")} >{item?.changeOI?.toLocaleString("en-US")}
</span> </span>
{:else} {:else}
@ -540,13 +540,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI >= 0} {#if item?.changesPercentageOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI >= 1000 >+{item?.changesPercentageOI >= 1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}%</span : item?.changesPercentageOI?.toFixed(2)}%</span
> >
{:else if item?.changesPercentageOI < 0} {:else if item?.changesPercentageOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI <= -1000 >{item?.changesPercentageOI <= -1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}% : item?.changesPercentageOI?.toFixed(2)}%

View File

@ -224,13 +224,13 @@
class=" text-sm sm:text-[1rem] whitespace-nowrap text-end" class=" text-sm sm:text-[1rem] whitespace-nowrap text-end"
> >
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else if item?.changesPercentage < 0} {:else if item?.changesPercentage < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%

View File

@ -205,7 +205,7 @@
class="flex flex-row mt-1 text-[1rem] font-semibold" class="flex flex-row mt-1 text-[1rem] font-semibold"
> >
{#if item?.performancePercentage3Year >= 0} {#if item?.performancePercentage3Year >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{abbreviateNumber( >+{abbreviateNumber(
item?.performancePercentage3Year?.toFixed( item?.performancePercentage3Year?.toFixed(
2, 2,
@ -213,7 +213,7 @@
)}%</span )}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{abbreviateNumber( >{abbreviateNumber(
item?.performancePercentage3Year?.toFixed( item?.performancePercentage3Year?.toFixed(
2, 2,
@ -230,13 +230,13 @@
class="flex flex-row mt-1 text-[1rem] font-semibold" class="flex flex-row mt-1 text-[1rem] font-semibold"
> >
{#if item?.winRate >= 0} {#if item?.winRate >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{abbreviateNumber( >+{abbreviateNumber(
item?.winRate?.toFixed(2), item?.winRate?.toFixed(2),
)}%</span )}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{abbreviateNumber( >{abbreviateNumber(
item?.winRate?.toFixed(2), item?.winRate?.toFixed(2),
)}% )}%

View File

@ -756,7 +756,7 @@
> >
<span <span
class={displayLegend?.change >= 0 class={displayLegend?.change >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-[#FF2F1F]"} : "text-[#FF2F1F]"}
> >
{displayLegend?.change} {displayLegend?.change}
@ -800,8 +800,8 @@
<div <div
class="mt-1.5 block text-sm xs: sm:mt-0 sm:inline sm:text-lg {prePostData?.changesPercentage >= class="mt-1.5 block text-sm xs: sm:mt-0 sm:inline sm:text-lg {prePostData?.changesPercentage >=
0 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{prePostData?.changesPercentage?.toFixed( {prePostData?.changesPercentage?.toFixed(
2, 2,

View File

@ -750,7 +750,7 @@
> >
<span <span
class={displayLegend?.graphChange >= 0 class={displayLegend?.graphChange >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-[#FF2F1F]"} : "text-[#FF2F1F]"}
> >
{displayLegend?.graphChange ?? {displayLegend?.graphChange ??

View File

@ -476,7 +476,7 @@
? "text-[#00FC50] before:content-['+'] " ? "text-[#00FC50] before:content-['+'] "
: item?.changesPercentage < 0 && : item?.changesPercentage < 0 &&
item?.changesPercentage !== null item?.changesPercentage !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-white'} text-end" : 'text-white'} text-end"
> >
{item?.changesPercentage !== null {item?.changesPercentage !== null

View File

@ -217,13 +217,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null} {#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else if item?.changesPercentage < 0 && item?.changesPercentage !== null} {:else if item?.changesPercentage < 0 && item?.changesPercentage !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -341,11 +341,11 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changeOI >= 0} {#if item?.changeOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0} {:else if item?.changeOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")} >{item?.changeOI?.toLocaleString("en-US")}
</span> </span>
{:else} {:else}
@ -355,13 +355,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI >= 0} {#if item?.changesPercentageOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI >= 1000 >+{item?.changesPercentageOI >= 1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}%</span : item?.changesPercentageOI?.toFixed(2)}%</span
> >
{:else if item?.changesPercentageOI < 0} {:else if item?.changesPercentageOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI <= -1000 >{item?.changesPercentageOI <= -1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}% : item?.changesPercentageOI?.toFixed(2)}%

View File

@ -143,24 +143,24 @@
<td <td
class=" {item?.profitMargin >= 0 class=" {item?.profitMargin >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
> >
{abbreviateNumber(item?.profitMargin)}% {abbreviateNumber(item?.profitMargin)}%
</td> </td>
<td <td
class="{item?.avgChange1D >= 0 class="{item?.avgChange1D >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap" : 'text-red-800 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{item?.avgChange1D?.toFixed(2) ?? "n/a"}% {item?.avgChange1D?.toFixed(2) ?? "n/a"}%
</td> </td>
<td <td
class="{item?.avgChange1Y >= 0 class="{item?.avgChange1Y >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap" : 'text-red-800 dark:text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{item?.avgChange1Y?.toFixed(2) ?? "n/a"}% {item?.avgChange1Y?.toFixed(2) ?? "n/a"}%
</td> </td>

View File

@ -265,8 +265,8 @@
<td <td
class="text-sm sm:text-[1rem] whitespace-nowrap text-end {item?.changesPercentage >= class="text-sm sm:text-[1rem] whitespace-nowrap text-end {item?.changesPercentage >=
0 0
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{item?.changesPercentage > 0 {item?.changesPercentage > 0
? "+" ? "+"
@ -282,9 +282,9 @@
<td <td
class="text-end text-sm sm:text-[1rem] whitespace-nowrap {item?.transactionType === class="text-end text-sm sm:text-[1rem] whitespace-nowrap {item?.transactionType ===
'Buy' 'Buy'
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: item?.transactionType === 'Sell' : item?.transactionType === 'Sell'
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-[#E57C34]'}" : 'text-[#E57C34]'}"
> >
<div class="flex flex-row items-center justify-end"> <div class="flex flex-row items-center justify-end">

View File

@ -132,12 +132,12 @@
> >
{#if item?.return >= 0 && item?.return !== null} {#if item?.return >= 0 && item?.return !== null}
<span <span
class="inline-block text-green-700 dark:text-[#00FC50] text-sm sm:text-[1rem] whitespace-nowrap" class="inline-block text-green-800 dark:text-[#00FC50] text-sm sm:text-[1rem] whitespace-nowrap"
>+{abbreviateNumber(item?.return)}%</span >+{abbreviateNumber(item?.return)}%</span
> >
{:else if item?.return < 0 && item?.return !== null} {:else if item?.return < 0 && item?.return !== null}
<span <span
class="inline-block text-red-700 dark:text-[#FF2F1F] text-sm sm:text-[1rem] whitespace-nowrap" class="inline-block text-red-800 dark:text-[#FF2F1F] text-sm sm:text-[1rem] whitespace-nowrap"
>{abbreviateNumber(item?.return)}% >{abbreviateNumber(item?.return)}%
</span> </span>
{:else} {:else}

View File

@ -193,11 +193,11 @@
<td class=" text-end text-sm sm:text-[1rem]"> <td class=" text-end text-sm sm:text-[1rem]">
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item.changesPercentage?.toFixed(2)}%</span >+{item.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item.changesPercentage?.toFixed(2)}% >{item.changesPercentage?.toFixed(2)}%
</span> </span>
{/if} {/if}

View File

@ -613,8 +613,8 @@
<td <td
class="text-sm sm:text-[1rem] {item?.changesPercentage >= class="text-sm sm:text-[1rem] {item?.changesPercentage >=
0 0
? "text-green-700 dark:text-[#00FC50] before:content-['+'] " ? "text-green-800 dark:text-[#00FC50] before:content-['+'] "
: 'text-red-700 dark:text-[#FF2F1F]'} text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-end"
> >
{item?.changesPercentage?.toFixed(2)}% {item?.changesPercentage?.toFixed(2)}%
</td> </td>
@ -705,8 +705,8 @@
<td <td
class="text-sm sm:text-[1rem] {item?.changesPercentage >= class="text-sm sm:text-[1rem] {item?.changesPercentage >=
0 0
? "text-green-700 dark:text-[#00FC50] before:content-['+'] " ? "text-green-800 dark:text-[#00FC50] before:content-['+'] "
: 'text-red-700 dark:text-[#FF2F1F]'} text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-end"
> >
{item?.changesPercentage}% {item?.changesPercentage}%
</td> </td>

View File

@ -715,8 +715,8 @@
<td <td
class="text-sm sm:text-[1rem] {item?.changesPercentage >= class="text-sm sm:text-[1rem] {item?.changesPercentage >=
0 0
? "text-green-700 dark:text-[#00FC50] before:content-['+'] " ? "text-green-800 dark:text-[#00FC50] before:content-['+'] "
: 'text-red-700 dark:text-[#FF2F1F]'} text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-end"
> >
{item?.changesPercentage?.toFixed(2)}% {item?.changesPercentage?.toFixed(2)}%
</td> </td>
@ -821,7 +821,7 @@
class="text-sm sm:text-[1rem] {item?.changesPercentage >= class="text-sm sm:text-[1rem] {item?.changesPercentage >=
0 0
? "text-[#00FC50] before:content-['+'] " ? "text-[#00FC50] before:content-['+'] "
: 'text-red-700 dark:text-[#FF2F1F]'} text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-end"
> >
{item?.changesPercentage}% {item?.changesPercentage}%
</td> </td>

View File

@ -1448,9 +1448,9 @@
<span <span
class="text-start text-[1rem] font-semibold {flowSentiment === class="text-start text-[1rem] font-semibold {flowSentiment ===
'Bullish' 'Bullish'
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: flowSentiment === 'Bearish' : flowSentiment === 'Bearish'
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: flowSentiment === 'Neutral' : flowSentiment === 'Neutral'
? 'text-[#fff]' ? 'text-[#fff]'
: ''}">{flowSentiment}</span : ''}">{flowSentiment}</span
@ -1554,7 +1554,7 @@
cy="18" cy="18"
r="16" r="16"
fill="none" fill="none"
class="stroke-current text-green-700 dark:text-[#00FC50]" class="stroke-current text-green-800 dark:text-[#00FC50]"
stroke-width="3" stroke-width="3"
stroke-dasharray="100" stroke-dasharray="100"
stroke-dashoffset={100 - callPercentage?.toFixed(2)} stroke-dashoffset={100 - callPercentage?.toFixed(2)}

View File

@ -341,12 +341,12 @@
<span class=""> <span class="">
{#if item?.type === "Bought"} {#if item?.type === "Bought"}
<span <span
class="text-green-700 dark:text-[#00FC50] font-semibold dark:font-normal" class="text-green-800 dark:text-[#00FC50] font-semibold dark:font-normal"
>{item?.type}</span >{item?.type}</span
> >
{:else if item?.type === "Sold"} {:else if item?.type === "Sold"}
<span <span
class="text-red-700 dark:text-[#FF2F1F] font-semibold dark:font-normal" class="text-red-800 dark:text-[#FF2F1F] font-semibold dark:font-normal"
>{item?.type}</span >{item?.type}</span
> >
{:else if item?.type === "Exchange"} {:else if item?.type === "Exchange"}

View File

@ -223,12 +223,12 @@
<td class="text-sm sm:text-[1rem] text-end"> <td class="text-sm sm:text-[1rem] text-end">
{#if item?.type === "Bought"} {#if item?.type === "Bought"}
<span <span
class="text-green-700 dark:text-[#00FC50]" class="text-green-800 dark:text-[#00FC50]"
>Bought</span >Bought</span
> >
{:else if item?.type === "Sold"} {:else if item?.type === "Sold"}
<span <span
class="text-red-700 dark:text-[#FF2F1F]" class="text-red-800 dark:text-[#FF2F1F]"
>Sold</span >Sold</span
> >
{/if} {/if}

View File

@ -361,7 +361,7 @@
<div class="mt-5 mb-5"> <div class="mt-5 mb-5">
<Infobox <Infobox
text={`Since the inauguration of Donald J. Trump on January 20, 2025, the text={`Since the inauguration of Donald J. Trump on January 20, 2025, the
${selectedSector} has ${data?.getData?.marketPerformance[sectorDict[selectedSector]]["Inauguration"] >= 0 ? "grown" : "declined"} by <span class="${data?.getData?.marketPerformance[sectorDict[selectedSector]]["Inauguration"] >= 0 ? "text-green-700 dark:text-[#00FC50] before:content-['+']" : "text-red-700 dark:text-[#FF2F1F]"}"> ${selectedSector} has ${data?.getData?.marketPerformance[sectorDict[selectedSector]]["Inauguration"] >= 0 ? "grown" : "declined"} by <span class="${data?.getData?.marketPerformance[sectorDict[selectedSector]]["Inauguration"] >= 0 ? "text-green-800 dark:text-[#00FC50] before:content-['+']" : "text-red-800 dark:text-[#FF2F1F]"}">
${data?.getData?.marketPerformance[sectorDict[selectedSector]]["Inauguration"] ?? "n/a"}%</span>.`} ${data?.getData?.marketPerformance[sectorDict[selectedSector]]["Inauguration"] ?? "n/a"}%</span>.`}
/> />
</div> </div>
@ -481,8 +481,8 @@
<span class="inline-block">S&P500</span> <span class="inline-block">S&P500</span>
<span <span
class="{items?.at(0)?.changesPercentage > 0 class="{items?.at(0)?.changesPercentage > 0
? "text-green-700 dark:text-[#00FC50] before:content-['+']" ? "text-green-800 dark:text-[#00FC50] before:content-['+']"
: 'text-red-700 dark:text-[#FF2F1F]'} " : 'text-red-800 dark:text-[#FF2F1F]'} "
>{items.length > 0 >{items.length > 0
? items?.at(0)?.changesPercentage ? items?.at(0)?.changesPercentage
: "n/a"}%</span : "n/a"}%</span

View File

@ -504,11 +504,11 @@
class=" text-sm sm:text-[1rem] whitespace-nowrap text-end" class=" text-sm sm:text-[1rem] whitespace-nowrap text-end"
> >
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage?.toFixed(2)}%</span >+{item?.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage?.toFixed(2)}% >{item?.changesPercentage?.toFixed(2)}%
</span> </span>
{/if} {/if}

View File

@ -346,19 +346,19 @@
>{item?.count}</Table.Cell >{item?.count}</Table.Cell
> >
<Table.Cell <Table.Cell
class="text-right text-[1rem] text-green-700 dark:text-[#00FC50]" class="text-right text-[1rem] text-green-800 dark:text-[#00FC50]"
>{item?.call}</Table.Cell >{item?.call}</Table.Cell
> >
<Table.Cell <Table.Cell
class="text-right text-[1rem] text-red-700 dark:text-[#FF2F1F]" class="text-right text-[1rem] text-red-800 dark:text-[#FF2F1F]"
>{item?.put}</Table.Cell >{item?.put}</Table.Cell
> >
<Table.Cell <Table.Cell
class="text-right text-[1rem] {item?.avgSentiment > class="text-right text-[1rem] {item?.avgSentiment >
0.4 0.4
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: item?.avgSentiment < -0.1 : item?.avgSentiment < -0.1
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-yellow-600 dark:text-[#C6A755]'} " : 'text-yellow-600 dark:text-[#C6A755]'} "
>{item?.avgSentiment > 0.4 >{item?.avgSentiment > 0.4
? "Bullish" ? "Bullish"
@ -374,8 +374,8 @@
<Table.Cell class="text-right text-[1rem] "> <Table.Cell class="text-right text-[1rem] ">
<span <span
class="{item?.changesPercentage > 0 class="{item?.changesPercentage > 0
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: 'text-red-700 dark:text-[#FF2F1F]'} text-end" : 'text-red-800 dark:text-[#FF2F1F]'} text-end"
> >
{#if item?.changesPercentage > 0} {#if item?.changesPercentage > 0}
+{item?.changesPercentage?.toFixed(2)}% +{item?.changesPercentage?.toFixed(2)}%

View File

@ -662,7 +662,7 @@
}, },
returnOnInvestedCapital: { returnOnInvestedCapital: {
label: "Return On Invested Capital", label: "Return On Invested Capital",
step: ["100%", "50%", "20%", "10%", "5%", "1%"], step: ["1", "0.5", "0.2", "0.1", "0.05", "0.01"],
defaultCondition: "over", defaultCondition: "over",
defaultValue: "any", defaultValue: "any",
@ -785,14 +785,6 @@
defaultValue: "any", defaultValue: "any",
category: "Debt", category: "Debt",
}, },
debtRatio: {
label: "Debt Ratio",
step: [1, 0.5, 0, -0.5, -1],
defaultCondition: "over",
defaultValue: -0.5,
category: "Debt",
},
inventoryTurnover: { inventoryTurnover: {
label: "Inventory Turnover", label: "Inventory Turnover",
step: [200, 100, 50, 20, 10, 5, 3, 2, 1, 0], step: [200, 100, 50, 20, 10, 5, 3, 2, 1, 0],
@ -802,7 +794,7 @@
}, },
returnOnAssets: { returnOnAssets: {
label: "Return on Assets", label: "Return on Assets",
step: [10, 8, 6, 4, 2, 1, 0, -2, -4, -6, -8, -10], step: [1, 0.8, 0.6, 0.4, 0.2, 0.1, 0],
defaultCondition: "over", defaultCondition: "over",
defaultValue: "any", defaultValue: "any",
@ -829,35 +821,28 @@
defaultValue: "any", defaultValue: "any",
category: "Valuation & Ratios", category: "Valuation & Ratios",
}, },
evSales: { evToSales: {
label: "EV / Sales", label: "EV / Sales",
step: [50, 20, 10, 5, 1, 0], step: [50, 20, 10, 5, 1, 0],
defaultCondition: "over", defaultCondition: "over",
defaultValue: "any", defaultValue: "any",
category: "Valuation & Ratios", category: "Valuation & Ratios",
}, },
evEarnings: { evToEBITDA: {
label: "EV / Earnings",
step: [50, 20, 10, 5, 1, 0],
defaultCondition: "over",
defaultValue: "any",
category: "Valuation & Ratios",
},
evEBITDA: {
label: "EV / EBITDA", label: "EV / EBITDA",
step: [50, 20, 10, 5, 1, 0], step: [50, 20, 10, 5, 1, 0],
defaultCondition: "over", defaultCondition: "over",
defaultValue: "any", defaultValue: "any",
category: "Valuation & Ratios", category: "Valuation & Ratios",
}, },
evEBIT: { evToEBIT: {
label: "EV / EBIT", label: "EV / EBIT",
step: [50, 20, 10, 5, 1, 0], step: [50, 20, 10, 5, 1, 0],
defaultCondition: "over", defaultCondition: "over",
defaultValue: "any", defaultValue: "any",
category: "Valuation & Ratios", category: "Valuation & Ratios",
}, },
evFCF: { evToFCF: {
label: "EV / FCF", label: "EV / FCF",
step: [50, 20, 10, 5, 1, 0], step: [50, 20, 10, 5, 1, 0],
defaultCondition: "over", defaultCondition: "over",
@ -1051,7 +1036,7 @@
defaultValue: "any", defaultValue: "any",
category: "Valuation & Ratios", category: "Valuation & Ratios",
}, },
priceCashFlowRatio: { priceToOperatingCashFlowRatio: {
label: "Price / Cash Flow", label: "Price / Cash Flow",
step: [20, 15, 10, 5, 3, 1, 0], step: [20, 15, 10, 5, 3, 1, 0],
defaultCondition: "over", defaultCondition: "over",
@ -1145,22 +1130,6 @@
defaultValue: "any", defaultValue: "any",
category: "Margins", category: "Margins",
}, },
longTermDebtToCapitalization: {
label: "Long Term Debt / Market Cap",
step: ["80%", "60%", "50%", "30%", "20%", "10%", "5%", "1%", "0.5%"],
defaultCondition: "over",
defaultValue: "any",
category: "Debt",
},
shortTermDebtToCapitalization: {
label: "Short Term Debt / Market Cap",
step: ["80%", "60%", "50%", "30%", "20%", "10%", "5%", "1%", "0.5%"],
defaultCondition: "over",
defaultValue: "any",
category: "Debt",
},
interestIncomeToCapitalization: { interestIncomeToCapitalization: {
label: "Interest Income / Market Cap", label: "Interest Income / Market Cap",
step: ["80%", "60%", "50%", "30%", "20%", "10%", "5%", "1%", "0.5%"], step: ["80%", "60%", "50%", "30%", "20%", "10%", "5%", "1%", "0.5%"],
@ -3376,13 +3345,13 @@ const handleKeyDown = (event) => {
<td class=" text-end text-sm sm:text-[1rem]"> <td class=" text-end text-sm sm:text-[1rem]">
{#if item?.changesPercentage >= 0} {#if item?.changesPercentage >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else} {:else}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -3418,7 +3387,7 @@ const handleKeyDown = (event) => {
<td class=" whitespace-nowrap"> <td class=" whitespace-nowrap">
<a <a
href={"/stocks/" + item?.symbol} href={"/stocks/" + item?.symbol}
class="sm:hover: text-blue-400 text-sm sm:text-[1rem]" class="text-blue-700 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400 text-sm sm:text-[1rem]"
>{item?.symbol}</a >{item?.symbol}</a
> >
</td> </td>
@ -3481,13 +3450,13 @@ const handleKeyDown = (event) => {
{#if row?.rule === "marketCap"} {#if row?.rule === "marketCap"}
{abbreviateNumber(item[row?.rule])} {abbreviateNumber(item[row?.rule])}
{:else if item[row?.rule] > 0} {:else if item[row?.rule] > 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{abbreviateNumber( >+{abbreviateNumber(
item[row?.rule]?.toFixed(2), item[row?.rule]?.toFixed(2),
)}%</span )}%</span
> >
{:else if item[row?.rule] < 0} {:else if item[row?.rule] < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{abbreviateNumber( >{abbreviateNumber(
item[row?.rule]?.toFixed(2), item[row?.rule]?.toFixed(2),
)}%</span )}%</span
@ -3539,11 +3508,11 @@ const handleKeyDown = (event) => {
> >
{:else if row?.rule === "upside"} {:else if row?.rule === "upside"}
{#if item[row?.rule] > 0} {#if item[row?.rule] > 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item[row?.rule]?.toFixed(2)}%</span >+{item[row?.rule]?.toFixed(2)}%</span
> >
{:else if item[row?.rule] < 0} {:else if item[row?.rule] < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item[row?.rule]?.toFixed(2)}%</span >{item[row?.rule]?.toFixed(2)}%</span
> >
{:else} {:else}
@ -3551,11 +3520,11 @@ const handleKeyDown = (event) => {
{/if} {/if}
{:else if ["analystRating", "topAnalystRating"]?.includes(row?.rule)} {:else if ["analystRating", "topAnalystRating"]?.includes(row?.rule)}
{#if ["Strong Buy", "Buy"].includes(item[row?.rule])} {#if ["Strong Buy", "Buy"].includes(item[row?.rule])}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>{item[row?.rule]}</span >{item[row?.rule]}</span
> >
{:else if ["Strong Sell", "Sell"].includes(item[row?.rule])} {:else if ["Strong Sell", "Sell"].includes(item[row?.rule])}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item[row?.rule]}</span >{item[row?.rule]}</span
> >
{:else if item[row?.rule] === "Hold"} {:else if item[row?.rule] === "Hold"}
@ -3702,8 +3671,8 @@ const handleKeyDown = (event) => {
autocomplete="off" autocomplete="off"
type="search" type="search"
id="search" id="search"
class="placeholder-gray-600 dark:placeholder-gray-300 block w-full p-2 ps-10 text-sm text-gray-200 border border-gray-300 dark:border-gray-600 rounded-md bg-gray-100 dark:bg-secondary border border-blue-500" class="placeholder-gray-800 dark:placeholder-gray-300 block w-full p-2 ps-10 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-gray-100 dark:bg-secondary border border-blue-500"
placeholder="Search" placeholder="Search..."
bind:value={searchTerm} bind:value={searchTerm}
/> />
</div> </div>
@ -3804,29 +3773,55 @@ const handleKeyDown = (event) => {
<!--Start Delete Strategy Modal--> <!--Start Delete Strategy Modal-->
<input type="checkbox" id="deleteStrategy" class="modal-toggle" /> <input type="checkbox" id="deleteStrategy" class="modal-toggle" />
<dialog id="deleteStrategy" class="modal modal-bottom sm:modal-middle"> <dialog id="deleteStrategy" class="modal modal-middle p-3 sm:p-0">
<label for="deleteStrategy" class="cursor-pointer modal-backdrop bg-[#000]/40" <label for="deleteStrategy" class="cursor-pointer modal-backdrop bg-[#000]/40"
></label> ></label>
<div <div
class="modal-box w-full bg-white dark:bg-secondary border border-gray-300 dark:border-gray-600 overflow-hidden" class="modal-box w-full p-6 rounded shadow-sm border
bg-white dark:bg-[#17181C] border border-gray-300 dark:border-gray-800"
> >
<h3 <h3 class="text-lg font-medium mb-2">Delete Watchlist</h3>
class="font-semibold text-md sm:text-lg flex justify-center items-center mt-10 text-center" <p class="text-sm mb-6">
> Are you sure you want to delete this watchlist? This action cannot be
Are you sure you want to delete the strategy? undone.
</h3> </p>
<div class="flex justify-end space-x-3">
<div
class=" modal-action w-full m-auto p-5 flex flex-col sm:flex-row items-center"
>
<label <label
for="deleteStrategy"
class="cursor-pointer px-4 py-2 rounded text-sm font-medium
transition-colors duration-200
bg-zinc-800 text-zinc-300 hover:bg-zinc-700"
tabindex="0">Cancel</label
><label
for="deleteStrategy" for="deleteStrategy"
on:click={handleDeleteStrategy} on:click={handleDeleteStrategy}
class="cursor-pointer py-2.5 text-center bg-blue-500 sm:hover:bg-blue-600 dark:bg-[#fff] dark:sm:hover:bg-gray-300 w-full rounded-md m-auto text-white dark:text-black font-semibold text-md" class="cursor-pointer px-4 py-2 rounded text-sm font-medium
transition-colors duration-100 flex items-center
bg-red-600 text-white
"
tabindex="0"
><svg
stroke="currentColor"
fill="none"
stroke-width="2"
viewBox="0 0 24 24"
stroke-linecap="round"
stroke-linejoin="round"
class="w-4 h-4 mr-2"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
><polyline points="3 6 5 6 21 6"></polyline><path
d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
></path><line x1="10" y1="11" x2="10" y2="17"></line><line
x1="14"
y1="11"
x2="14"
y2="17"
></line></svg
>Delete Watchlist</label
> >
Proceed
</label>
</div> </div>
</div> </div>
</dialog> </dialog>

View File

@ -796,15 +796,15 @@
> >
<span <span
class={displayLegend?.change >= 0 class={displayLegend?.change >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
{displayLegend?.change} {displayLegend?.change}
</span> </span>
<span <span
class={displayLegend?.changesPercentage >= 0 class={displayLegend?.changesPercentage >= 0
? "text-green-700 dark:text-[#00FC50]" ? "text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
({displayLegend?.changesPercentage}%) ({displayLegend?.changesPercentage}%)
</span> </span>
@ -840,8 +840,8 @@
<div <div
class="mt-1.5 block text-sm sm:mt-0 sm:inline sm:text-lg {prePostData?.changesPercentage >= class="mt-1.5 block text-sm sm:mt-0 sm:inline sm:text-lg {prePostData?.changesPercentage >=
0 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
> >
{prePostData?.changesPercentage?.toFixed( {prePostData?.changesPercentage?.toFixed(
2, 2,

View File

@ -864,24 +864,24 @@
><td class="py-[3px] text-left lg:py-0.5">Change</td> ><td class="py-[3px] text-left lg:py-0.5">Change</td>
<td <td
class={lowChange > 0 class={lowChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"}>{lowChange}%</td : "text-red-800 dark:text-[#FF2F1F]"}>{lowChange}%</td
> >
<td <td
class={avgChange > 0 class={avgChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"}>{avgChange}%</td : "text-red-800 dark:text-[#FF2F1F]"}>{avgChange}%</td
> >
<td <td
class={medianChange > 0 class={medianChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{medianChange}%</td >{medianChange}%</td
> >
<td <td
class={highChange > 0 class={highChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{highChange}%</td >{highChange}%</td
></tr ></tr
></tbody ></tbody

View File

@ -560,8 +560,8 @@
{#if isPro} {#if isPro}
<span <span
class="text-xl font-bold {avgReturn >= 0 class="text-xl font-bold {avgReturn >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
>{avgReturn?.toFixed(2)}%</span >{avgReturn?.toFixed(2)}%</span
> >
{:else} {:else}
@ -696,8 +696,8 @@
{#if index < 5 || isPro} {#if index < 5 || isPro}
<span <span
class={item?.change > 0 class={item?.change > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
> >
{item?.change}% {item?.change}%
</span> </span>
@ -732,8 +732,8 @@
)} the model shows that the average return would be )} the model shows that the average return would be
<span <span
class="font-semibold {avgReturn >= 0 class="font-semibold {avgReturn >= 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: 'text-red-700 dark:text-[#FF2F1F]'}" : 'text-red-800 dark:text-[#FF2F1F]'}"
>{avgReturn?.toFixed(2)}%</span >{avgReturn?.toFixed(2)}%</span
> based on the backtesting results. > based on the backtesting results.
</p> </p>
@ -972,26 +972,26 @@
{:else} {:else}
<td <td
class={lowChange > 0 class={lowChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{lowChange}%</td >{lowChange}%</td
> >
<td <td
class={avgChange > 0 class={avgChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{avgChange}%</td >{avgChange}%</td
> >
<td <td
class={medianChange > 0 class={medianChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{medianChange}%</td >{medianChange}%</td
> >
<td <td
class={highChange > 0 class={highChange > 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"} : "text-red-800 dark:text-[#FF2F1F]"}
>{highChange}%</td >{highChange}%</td
> >
{/if} {/if}

View File

@ -325,9 +325,9 @@
<div <div
class="mt-1 break-words font-semibold leading-8 text-xl sm:text-2xl {changesPercentage >= class="mt-1 break-words font-semibold leading-8 text-xl sm:text-2xl {changesPercentage >=
0 0
? "before:content-['+'] after:content-['%'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] after:content-['%'] text-green-800 dark:text-[#00FC50]"
: changesPercentage < 0 : changesPercentage < 0
? "after:content-['%'] text-red-700 dark:text-[#FF2F1F]" ? "after:content-['%'] text-red-800 dark:text-[#FF2F1F]"
: ''}" : ''}"
> >
{changesPercentage} {changesPercentage}
@ -525,12 +525,12 @@
data?.getStockQuote?.price - data?.getStockQuote?.price -
1 >= 1 >=
0 0
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: item?.adjusted_pt_current / : item?.adjusted_pt_current /
data?.getStockQuote?.price - data?.getStockQuote?.price -
1 < 1 <
0 0
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''}" : ''}"
> >
{( {(

View File

@ -467,10 +467,10 @@
<td <td
class="text-sm sm:text-[1rem] {item?.changesPercentage >= class="text-sm sm:text-[1rem] {item?.changesPercentage >=
0 && item?.changesPercentage !== null 0 && item?.changesPercentage !== null
? "text-green-700 dark:text-[#00FC50] before:content-['+'] " ? "text-green-800 dark:text-[#00FC50] before:content-['+'] "
: item?.changesPercentage < 0 && : item?.changesPercentage < 0 &&
item?.changesPercentage !== null item?.changesPercentage !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} text-end" : ''} text-end"
> >
{item?.changesPercentage !== null {item?.changesPercentage !== null

View File

@ -268,11 +268,11 @@
class="text-end text-sm sm:text-[1rem] whitespace-nowrap" class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
> >
{#if item?.type === "Bought"} {#if item?.type === "Bought"}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>Bought</span >Bought</span
> >
{:else if item?.type === "Sold"} {:else if item?.type === "Sold"}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>Sold</span >Sold</span
> >
{:else if item?.type === "Exchange"} {:else if item?.type === "Exchange"}

View File

@ -139,9 +139,9 @@
{#each growthValues[index] as growthValue} {#each growthValues[index] as growthValue}
<td <td
class="text-sm sm:text-[1rem] text-end {growthValue > 0 class="text-sm sm:text-[1rem] text-end {growthValue > 0
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: growthValue < 0 : growthValue < 0
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} border-b border-gray-300 dark:border-gray-800" : ''} border-b border-gray-300 dark:border-gray-800"
> >
{growthValue > 0 ? "+" : ""}{growthValue !== null && {growthValue > 0 ? "+" : ""}{growthValue !== null &&
@ -214,9 +214,9 @@
<td <td
class="text-sm sm:text-[1rem] text-center {growthValue > class="text-sm sm:text-[1rem] text-center {growthValue >
0 0
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: growthValue < 0 : growthValue < 0
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} border-b border-gray-300 dark:border-gray-800" : ''} border-b border-gray-300 dark:border-gray-800"
> >
{growthValue > 0 ? "+" : ""}{growthValue !== null && {growthValue > 0 ? "+" : ""}{growthValue !== null &&
@ -291,9 +291,9 @@
<td <td
class="text-sm sm:text-[1rem] text-center {growthValue > class="text-sm sm:text-[1rem] text-center {growthValue >
0 0
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: growthValue < 0 : growthValue < 0
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''} border-b border-gray-300 dark:border-gray-800" : ''} border-b border-gray-300 dark:border-gray-800"
> >
{growthValue > 0 ? "+" : ""}{growthValue !== null && {growthValue > 0 ? "+" : ""}{growthValue !== null &&

View File

@ -267,11 +267,11 @@
class=" text-sm sm:text-[1rem] whitespace-nowrap text-end" class=" text-sm sm:text-[1rem] whitespace-nowrap text-end"
> >
{#if item?.valueGrowth > 0} {#if item?.valueGrowth > 0}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
+{item?.valueGrowth?.toFixed(2)}% +{item?.valueGrowth?.toFixed(2)}%
</span> </span>
{:else if item?.valueGrowth < 0} {:else if item?.valueGrowth < 0}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
{item?.valueGrowth?.toFixed(2)}% {item?.valueGrowth?.toFixed(2)}%
</span> </span>
{:else} {:else}

View File

@ -402,13 +402,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null} {#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentage >= 1000 >+{item?.changesPercentage >= 1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}%</span : item?.changesPercentage?.toFixed(2)}%</span
> >
{:else if item?.changesPercentage < 0 && item?.changesPercentage !== null} {:else if item?.changesPercentage < 0 && item?.changesPercentage !== null}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentage <= -1000 >{item?.changesPercentage <= -1000
? abbreviateNumber(item?.changesPercentage) ? abbreviateNumber(item?.changesPercentage)
: item?.changesPercentage?.toFixed(2)}% : item?.changesPercentage?.toFixed(2)}%
@ -526,11 +526,11 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changeOI >= 0} {#if item?.changeOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changeOI?.toLocaleString("en-US")}</span >+{item?.changeOI?.toLocaleString("en-US")}</span
> >
{:else if item?.changeOI < 0} {:else if item?.changeOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changeOI?.toLocaleString("en-US")} >{item?.changeOI?.toLocaleString("en-US")}
</span> </span>
{:else} {:else}
@ -540,13 +540,13 @@
<td class=" text-sm sm:text-[1rem] text-end"> <td class=" text-sm sm:text-[1rem] text-end">
{#if item?.changesPercentageOI >= 0} {#if item?.changesPercentageOI >= 0}
<span class="text-green-700 dark:text-[#00FC50]" <span class="text-green-800 dark:text-[#00FC50]"
>+{item?.changesPercentageOI >= 1000 >+{item?.changesPercentageOI >= 1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}%</span : item?.changesPercentageOI?.toFixed(2)}%</span
> >
{:else if item?.changesPercentageOI < 0} {:else if item?.changesPercentageOI < 0}
<span class="text-red-700 dark:text-[#FF2F1F]" <span class="text-red-800 dark:text-[#FF2F1F]"
>{item?.changesPercentageOI <= -1000 >{item?.changesPercentageOI <= -1000
? abbreviateNumber(item?.changesPercentageOI) ? abbreviateNumber(item?.changesPercentageOI)
: item?.changesPercentageOI?.toFixed(2)}% : item?.changesPercentageOI?.toFixed(2)}%

View File

@ -255,8 +255,8 @@
changeRate >= 0 && changeRate !== null ? "increased" : "decreased"; changeRate >= 0 && changeRate !== null ? "increased" : "decreased";
const growthRateClass = const growthRateClass =
changeRate >= 0 && changeRate !== null changeRate >= 0 && changeRate !== null
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: "text-red-700 dark:text-[#FF2F1F]"; : "text-red-800 dark:text-[#FF2F1F]";
return ` return `
<span> <span>
@ -577,7 +577,7 @@
{#if index === historyList?.length - 1} {#if index === historyList?.length - 1}
n/a n/a
{:else if item?.employeeCount > historyList[index + 1]?.employeeCount} {:else if item?.employeeCount > historyList[index + 1]?.employeeCount}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
+{( +{(
((item?.employeeCount - ((item?.employeeCount -
historyList[index + 1]?.employeeCount) / historyList[index + 1]?.employeeCount) /
@ -586,7 +586,7 @@
).toFixed(2)}% ).toFixed(2)}%
</span> </span>
{:else if item?.employeeCount < historyList[index + 1]?.employeeCount} {:else if item?.employeeCount < historyList[index + 1]?.employeeCount}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
-{( -{(
(Math.abs( (Math.abs(
item?.employeeCount - item?.employeeCount -

View File

@ -117,7 +117,7 @@
: "n/a"}</span : "n/a"}</span
> >
<div class="flex flex-col ml-2"> <div class="flex flex-col ml-2">
<span class="text-sm text-red-700 dark:text-red-400"> <span class="text-sm text-red-800 dark:text-red-400">
{relativeFTD > 20 ? "High Impact" : "Low Impact"} {relativeFTD > 20 ? "High Impact" : "Low Impact"}
</span> </span>
</div> </div>
@ -140,10 +140,10 @@
<span <span
class="text-sm {changePercentageYearAgo >= 0 && class="text-sm {changePercentageYearAgo >= 0 &&
changePercentageYearAgo !== null changePercentageYearAgo !== null
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: changePercentageYearAgo < 0 && : changePercentageYearAgo < 0 &&
changePercentageYearAgo !== null changePercentageYearAgo !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''}" : ''}"
> >
{changePercentageYearAgo >= 0 ? "Positive" : "Negative"} Trend {changePercentageYearAgo >= 0 ? "Positive" : "Negative"} Trend

View File

@ -523,10 +523,10 @@
<span <span
class="text-sm {changePercentageYearAgo >= 0 && class="text-sm {changePercentageYearAgo >= 0 &&
changePercentageYearAgo !== null changePercentageYearAgo !== null
? "before:content-['+'] text-green-700 dark:text-[#00FC50]" ? "before:content-['+'] text-green-800 dark:text-[#00FC50]"
: changePercentageYearAgo < 0 && : changePercentageYearAgo < 0 &&
changePercentageYearAgo !== null changePercentageYearAgo !== null
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: ''}" : ''}"
> >
{changePercentageYearAgo >= 0 ? "Positive" : "Negative"} {changePercentageYearAgo >= 0 ? "Positive" : "Negative"}
@ -757,7 +757,7 @@
{#if index === tableList?.length - 1} {#if index === tableList?.length - 1}
n/a n/a
{:else if item?.marketCap > tableList[index + 1]?.marketCap} {:else if item?.marketCap > tableList[index + 1]?.marketCap}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
+{( +{(
((item?.marketCap - ((item?.marketCap -
tableList[index + 1]?.marketCap) / tableList[index + 1]?.marketCap) /
@ -766,7 +766,7 @@
)?.toFixed(2)}% )?.toFixed(2)}%
</span> </span>
{:else if item?.marketCap < tableList[index + 1]?.marketCap} {:else if item?.marketCap < tableList[index + 1]?.marketCap}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
-{( -{(
Math.abs( Math.abs(
(item?.marketCap - (item?.marketCap -

View File

@ -127,7 +127,7 @@
>{`${earningsData?.positiveRevenueSurprises}/${earningsData?.totalReports}`} >{`${earningsData?.positiveRevenueSurprises}/${earningsData?.totalReports}`}
quarters</span quarters</span
> >
<span class="text-xs text-red-700 dark:text-red-400"> <span class="text-xs text-red-800 dark:text-red-400">
{earningsData?.positiveRevenueSurprises > {earningsData?.positiveRevenueSurprises >
earningsData?.totalReports / 2 earningsData?.totalReports / 2
? "Above Average" ? "Above Average"
@ -401,8 +401,8 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_2_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_2_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: 'text-red-700 dark:text-negative'}" : 'text-red-800 dark:text-negative'}"
>{item?.backward_2_days_change_percent}%<span >{item?.backward_2_days_change_percent}%<span
class="w-0 text-center" class="w-0 text-center"
></span></span ></span></span
@ -412,8 +412,8 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_1_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_1_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: 'text-red-700 dark:text-negative'}" : 'text-red-800 dark:text-negative'}"
>{item?.backward_1_days_change_percent?.toFixed( >{item?.backward_1_days_change_percent?.toFixed(
2, 2,
)}%<span class="w-0 text-center"></span></span )}%<span class="w-0 text-center"></span></span
@ -423,8 +423,8 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_1_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_1_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: 'text-red-700 dark:text-negative'}" : 'text-red-800 dark:text-negative'}"
>{item?.backward_1_days_change_percent?.toFixed( >{item?.backward_1_days_change_percent?.toFixed(
2, 2,
)}%<span class="w-0 text-center"></span></span )}%<span class="w-0 text-center"></span></span
@ -478,9 +478,9 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_2_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_2_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: item?.forward_2_days_change_percent < 0 : item?.forward_2_days_change_percent < 0
? 'text-red-700 dark:text-negative' ? 'text-red-800 dark:text-negative'
: ''}" : ''}"
>{item?.forward_2_days_change_percent !== undefined >{item?.forward_2_days_change_percent !== undefined
? item?.forward_2_days_change_percent + "%" ? item?.forward_2_days_change_percent + "%"
@ -491,9 +491,9 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_3_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_3_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: item?.forward_3_days_change_percent < 0 : item?.forward_3_days_change_percent < 0
? 'text-red-700 dark:text-negative' ? 'text-red-800 dark:text-negative'
: ''}" : ''}"
>{item?.forward_3_days_change_percent !== undefined >{item?.forward_3_days_change_percent !== undefined
? item?.forward_3_days_change_percent + "%" ? item?.forward_3_days_change_percent + "%"
@ -504,9 +504,9 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_4_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_4_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: item?.forward_4_days_change_percent < 0 : item?.forward_4_days_change_percent < 0
? 'text-red-700 dark:text-negative' ? 'text-red-800 dark:text-negative'
: ''}" : ''}"
>{item?.forward_4_days_change_percent !== undefined >{item?.forward_4_days_change_percent !== undefined
? item?.forward_4_days_change_percent + "%" ? item?.forward_4_days_change_percent + "%"
@ -517,9 +517,9 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_6_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.forward_6_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: item?.forward_6_days_change_percent < 0 : item?.forward_6_days_change_percent < 0
? 'text-red-700 dark:text-negative' ? 'text-red-800 dark:text-negative'
: ''}" : ''}"
>{item?.forward_6_days_change_percent !== undefined >{item?.forward_6_days_change_percent !== undefined
? item?.forward_6_days_change_percent + "%" ? item?.forward_6_days_change_percent + "%"
@ -530,8 +530,8 @@
><span ><span
class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_4_days_change_percent >= class="w-full text-sm sm:text-[1rem] items-baseline justify-end whitespace-nowrap {item?.backward_4_days_change_percent >=
0 0
? "text-green-700 dark:text-positive before:content-['+']" ? "text-green-800 dark:text-positive before:content-['+']"
: 'text-red-700 dark:text-negative'}" : 'text-red-800 dark:text-negative'}"
>{item?.backward_4_days_change_percent?.toFixed( >{item?.backward_4_days_change_percent?.toFixed(
2, 2,
)}%<span class="w-0 text-center"></span></span )}%<span class="w-0 text-center"></span></span

View File

@ -460,7 +460,7 @@
{#if index === tableList?.length - 1} {#if index === tableList?.length - 1}
n/a n/a
{:else if item?.revenue > tableList[index + 1]?.revenue} {:else if item?.revenue > tableList[index + 1]?.revenue}
<span class="text-green-700 dark:text-[#00FC50]"> <span class="text-green-800 dark:text-[#00FC50]">
+{( +{(
((item?.revenue - ((item?.revenue -
tableList[index + 1]?.revenue) / tableList[index + 1]?.revenue) /
@ -469,7 +469,7 @@
)?.toFixed(2)}% )?.toFixed(2)}%
</span> </span>
{:else if item?.revenue < tableList[index + 1]?.revenue} {:else if item?.revenue < tableList[index + 1]?.revenue}
<span class="text-red-700 dark:text-[#FF2F1F]"> <span class="text-red-800 dark:text-[#FF2F1F]">
-{( -{(
Math.abs( Math.abs(
(item?.revenue - (item?.revenue -

View File

@ -313,8 +313,8 @@
<td <td
class="text-sm sm:text-[1rem] {item?.put_call === class="text-sm sm:text-[1rem] {item?.put_call ===
'Calls' 'Calls'
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: 'text-red-700 dark:text-[#FF2F1F]'} text-start" : 'text-red-800 dark:text-[#FF2F1F]'} text-start"
> >
{item?.put_call} {item?.put_call}
</td> </td>
@ -322,9 +322,9 @@
<td <td
class="text-sm sm:text-[1rem] {item?.sentiment === class="text-sm sm:text-[1rem] {item?.sentiment ===
'Bullish' 'Bullish'
? 'text-green-700 dark:text-[#00FC50]' ? 'text-green-800 dark:text-[#00FC50]'
: item?.sentiment === 'Bearish' : item?.sentiment === 'Bearish'
? 'text-red-700 dark:text-[#FF2F1F]' ? 'text-red-800 dark:text-[#FF2F1F]'
: 'text-[#C6A755]'} text-start" : 'text-[#C6A755]'} text-start"
> >
{item?.sentiment} {item?.sentiment}

View File

@ -1729,24 +1729,24 @@
{:else if row?.type === "percentSign"} {:else if row?.type === "percentSign"}
{#if item[row?.rule] >= 0} {#if item[row?.rule] >= 0}
<span <span
class="text-green-700 dark:text-[#00FC50]" class="text-green-800 dark:text-[#00FC50]"
>+{item[row?.rule]?.toFixed(2)}%</span >+{item[row?.rule]?.toFixed(2)}%</span
> >
{:else} {:else}
<span <span
class="text-red-700 dark:text-[#FF2F1F]" class="text-red-800 dark:text-[#FF2F1F]"
>{item[row?.rule]?.toFixed(2)}%</span >{item[row?.rule]?.toFixed(2)}%</span
> >
{/if} {/if}
{:else if row?.type === "rating"} {:else if row?.type === "rating"}
{#if ["Strong Buy", "Buy"].includes(item[row?.rule])} {#if ["Strong Buy", "Buy"].includes(item[row?.rule])}
<span <span
class="text-green-700 dark:text-[#00FC50]" class="text-green-800 dark:text-[#00FC50]"
>{item[row?.rule]}</span >{item[row?.rule]}</span
> >
{:else if ["Strong Sell", "Sell"].includes(item[row?.rule])} {:else if ["Strong Sell", "Sell"].includes(item[row?.rule])}
<span <span
class="text-red-700 dark:text-[#FF2F1F]" class="text-red-800 dark:text-[#FF2F1F]"
>{item[row?.rule]}</span >{item[row?.rule]}</span
> >
{:else if item[row?.rule] === "Hold"} {:else if item[row?.rule] === "Hold"}
@ -2055,31 +2055,57 @@
<!--Start Delete Strategy Modal--> <!--Start Delete Strategy Modal-->
<input type="checkbox" id="deleteWatchlist" class="modal-toggle" /> <input type="checkbox" id="deleteWatchlist" class="modal-toggle" />
<dialog id="deleteWatchlist" class="modal modal-bottom sm:modal-middle"> <dialog id="deleteWatchlist" class="modal modal-middle p-3 sm:p-0">
<label <label
for="deleteWatchlist" for="deleteWatchlist"
class="cursor-pointer modal-backdrop bg-[#000]/40" class="cursor-pointer modal-backdrop bg-[#000]/40"
></label> ></label>
<div <div
class="modal-box w-full bg-secondary border border-gray-300 dark:border-gray-600 overflow-hidden" class="modal-box w-full p-6 rounded shadow-sm border
bg-white dark:bg-[#17181C] border border-gray-300 dark:border-gray-800"
> >
<h3 <h3 class="text-lg font-medium mb-2">Delete Watchlist</h3>
class="font-bold text-[1rem] text-center sm:text-lg flex justify-center items-center mt-10 text-white" <p class="text-sm mb-6">
> Are you sure you want to delete this watchlist? This action cannot be
Are you sure you want to delete the watchlist? undone.
</h3> </p>
<div class="flex justify-end space-x-3">
<div
class="modal-action w-full m-auto p-5 flex flex-col sm:flex-row items-center"
>
<label <label
for="deleteWatchlist"
class="cursor-pointer px-4 py-2 rounded text-sm font-medium
transition-colors duration-200
bg-zinc-800 text-zinc-300 hover:bg-zinc-700"
tabindex="0">Cancel</label
><label
for="deleteWatchlist" for="deleteWatchlist"
on:click={deleteWatchlist} on:click={deleteWatchlist}
class="cursor-pointer mt-2 py-2.5 text-center bg-[#fff] sm:hover:bg-gray-200 btn-md w-full rounded m-auto text-black font-semibold text-md" class="cursor-pointer px-4 py-2 rounded text-sm font-medium
transition-colors duration-100 flex items-center
bg-red-600 text-white
"
tabindex="0"
><svg
stroke="currentColor"
fill="none"
stroke-width="2"
viewBox="0 0 24 24"
stroke-linecap="round"
stroke-linejoin="round"
class="w-4 h-4 mr-2"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
><polyline points="3 6 5 6 21 6"></polyline><path
d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
></path><line x1="10" y1="11" x2="10" y2="17"></line><line
x1="14"
y1="11"
x2="14"
y2="17"
></line></svg
>Delete Watchlist</label
> >
Proceed
</label>
</div> </div>
</div> </div>
</dialog> </dialog>