update screener rules
This commit is contained in:
parent
248a531bc4
commit
a965089c0a
@ -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 -
|
||||||
|
|||||||
@ -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}%
|
||||||
|
|||||||
@ -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 -
|
||||||
|
|||||||
@ -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) *
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 -
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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="">
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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"}
|
||||||
|
|||||||
@ -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"}
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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) *
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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"}
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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),
|
||||||
)}%
|
)}%
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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 ??
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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">
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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)}
|
||||||
|
|||||||
@ -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"}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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]'
|
||||||
: ''}"
|
: ''}"
|
||||||
>
|
>
|
||||||
{(
|
{(
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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"}
|
||||||
|
|||||||
@ -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 &&
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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)}%
|
||||||
|
|||||||
@ -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 -
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 -
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 -
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user