ui fix
This commit is contained in:
parent
184ac52059
commit
6792b74084
@ -80,7 +80,7 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<a class="block relative" href="/pricing">
|
<a class="block relative" href="/pricing">
|
||||||
<span
|
<span
|
||||||
class="text-base font-semibold text-blue-link blur-sm group-hover:blur-[3px]"
|
class=" font-semibold text-blue-link blur-sm group-hover:blur-[3px]"
|
||||||
>
|
>
|
||||||
XX
|
XX
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -252,7 +252,7 @@
|
|||||||
The DCF model signals a
|
The DCF model signals a
|
||||||
|
|
||||||
{#if change < -3}
|
{#if change < -3}
|
||||||
<span class="text-[#00FC50]">
|
<span class="text-green-600 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"
|
||||||
@ -307,7 +307,7 @@
|
|||||||
{:else if change < 0}
|
{:else if change < 0}
|
||||||
<div class="text-white">
|
<div class="text-white">
|
||||||
The Stock Price is
|
The Stock Price is
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>{Math?.abs(change)}% undervalued</span
|
>{Math?.abs(change)}% undervalued</span
|
||||||
>.
|
>.
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -357,7 +357,7 @@
|
|||||||
{#each tableList as item, index}
|
{#each tableList as item, index}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800"
|
||||||
>
|
>
|
||||||
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap">
|
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap">
|
||||||
{new Date(item?.date)?.toLocaleDateString("en-US", {
|
{new Date(item?.date)?.toLocaleDateString("en-US", {
|
||||||
@ -385,7 +385,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-[#00FC50]">
|
<span class="text-green-600 dark:text-[#00FC50]">
|
||||||
+{(
|
+{(
|
||||||
((item?.shortVolume -
|
((item?.shortVolume -
|
||||||
tableList[index + 1]?.shortVolume) /
|
tableList[index + 1]?.shortVolume) /
|
||||||
|
|||||||
@ -83,7 +83,7 @@
|
|||||||
rawData?.dividendPrior -
|
rawData?.dividendPrior -
|
||||||
1 >
|
1 >
|
||||||
0
|
0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
>
|
>
|
||||||
{(
|
{(
|
||||||
|
|||||||
@ -207,7 +207,7 @@
|
|||||||
<p>
|
<p>
|
||||||
Current Price: {stockChartData?.price?.toFixed(2)} (<span
|
Current Price: {stockChartData?.price?.toFixed(2)} (<span
|
||||||
class="text-xs {change >= 0
|
class="text-xs {change >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'}">{change?.toFixed(2)}</span
|
: 'text-[#FF2F1F]'}">{change?.toFixed(2)}</span
|
||||||
>)
|
>)
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@ -99,7 +99,7 @@
|
|||||||
{#each displayList as item}
|
{#each displayList as item}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800"
|
||||||
>
|
>
|
||||||
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
||||||
<a
|
<a
|
||||||
@ -138,7 +138,7 @@
|
|||||||
|
|
||||||
<td
|
<td
|
||||||
class="{item?.profitMargin >= 0
|
class="{item?.profitMargin >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
: 'text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(item?.profitMargin)}%
|
{abbreviateNumber(item?.profitMargin)}%
|
||||||
@ -146,7 +146,7 @@
|
|||||||
|
|
||||||
<td
|
<td
|
||||||
class="{item?.avgChange1D >= 0
|
class="{item?.avgChange1D >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
: 'text-[#FF2F1F]'} text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.avgChange1D?.toFixed(2) ?? "n/a"}%
|
{item?.avgChange1D?.toFixed(2) ?? "n/a"}%
|
||||||
|
|||||||
@ -343,7 +343,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
displayList?.slice(0, 3)?.length &&
|
displayList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -388,7 +388,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white 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-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -319,7 +319,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
displayList?.slice(0, 3)?.length &&
|
displayList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -364,7 +364,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white 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-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -436,7 +436,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
displayList?.slice(0, 3)?.length &&
|
displayList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -481,7 +481,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white 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-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -592,7 +592,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each volumeList as item, index}
|
{#each volumeList as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
volumeList?.slice(0, 3)?.length &&
|
volumeList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -668,7 +668,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{#if item?.changeOI >= 0}
|
{#if item?.changeOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -712,7 +712,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each openInterestList as item, index}
|
{#each openInterestList as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
openInterestList?.slice(0, 3)?.length &&
|
openInterestList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -788,7 +788,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{#if item?.changeOI >= 0}
|
{#if item?.changeOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -971,7 +971,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="text-sm sm:text-[1rem] text-end text-white">
|
<td class="text-sm sm:text-[1rem] text-end text-white">
|
||||||
{#if item?.changeOI >= 0 && item?.changeOI !== null}
|
{#if item?.changeOI >= 0 && item?.changeOI !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -985,7 +985,7 @@
|
|||||||
|
|
||||||
<td class="text-sm sm:text-[1rem] text-end text-white">
|
<td class="text-sm sm:text-[1rem] text-end text-white">
|
||||||
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
|
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -301,7 +301,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
displayList?.slice(0, 3)?.length &&
|
displayList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -340,7 +340,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white 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-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -274,7 +274,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
displayList?.slice(0, 3)?.length &&
|
displayList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -309,7 +309,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] text-end whitespace-nowrap"
|
class="text-white 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-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -103,7 +103,7 @@
|
|||||||
>
|
>
|
||||||
<div class="text-[#c3c6d0] text-sm mb-2 flex items-center">
|
<div class="text-[#c3c6d0] text-sm mb-2 flex items-center">
|
||||||
<span>Net Call Prem</span>
|
<span>Net Call Prem</span>
|
||||||
<span class="ml-1 text-green-500">●</span>
|
<span class="ml-1 text-green-600">●</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-baseline">
|
<div class="flex items-baseline">
|
||||||
<span class="text-xl font-bold text-white"
|
<span class="text-xl font-bold text-white"
|
||||||
|
|||||||
@ -749,7 +749,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier !== "Pro" ? displayList?.slice(0, 3) : displayList as item, index}
|
{#each data?.user?.tier !== "Pro" ? displayList?.slice(0, 3) : displayList as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
rawData?.slice(0, 3)?.length &&
|
rawData?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -767,7 +767,7 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="inline-block px-2 {item?.optionType === 'Calls'
|
class="inline-block px-2 {item?.optionType === 'Calls'
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
>
|
>
|
||||||
{item?.optionType}
|
{item?.optionType}
|
||||||
@ -815,7 +815,7 @@
|
|||||||
<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-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: item?.sentiment === 'Bearish'
|
: item?.sentiment === 'Bearish'
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-[#C8A32D]'} "
|
: 'text-[#C8A32D]'} "
|
||||||
@ -1002,7 +1002,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="text-sm sm:text-[1rem] text-end text-white">
|
<td class="text-sm sm:text-[1rem] text-end text-white">
|
||||||
{#if item?.changeOI >= 0 && item?.changeOI !== null}
|
{#if item?.changeOI >= 0 && item?.changeOI !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -1016,7 +1016,7 @@
|
|||||||
|
|
||||||
<td class="text-sm sm:text-[1rem] text-end text-white">
|
<td class="text-sm sm:text-[1rem] text-end text-white">
|
||||||
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
|
{#if item?.changesPercentageOI > 0 && item?.changesPercentageOI !== undefined}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
|
|||||||
@ -479,7 +479,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? displayList : displayList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
displayList?.slice(0, 3)?.length &&
|
displayList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -494,7 +494,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentage >= 1000
|
>+{item?.changesPercentage >= 1000
|
||||||
? abbreviateNumberWithColor(item?.changesPercentage)
|
? abbreviateNumberWithColor(item?.changesPercentage)
|
||||||
: item?.changesPercentage?.toFixed(2)}%</span
|
: item?.changesPercentage?.toFixed(2)}%</span
|
||||||
@ -524,7 +524,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentageOI >= 0 && item?.changesPercentageOI !== null}
|
{#if item?.changesPercentageOI >= 0 && item?.changesPercentageOI !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentageOI >= 1000
|
>+{item?.changesPercentageOI >= 1000
|
||||||
? abbreviateNumberWithColor(item?.changesPercentageOI)
|
? abbreviateNumberWithColor(item?.changesPercentageOI)
|
||||||
: item?.changesPercentageOI?.toFixed(2)}%</span
|
: item?.changesPercentageOI?.toFixed(2)}%</span
|
||||||
|
|||||||
@ -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-[#00FC50]">
|
<span class="text-green-600 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"
|
||||||
|
|||||||
@ -212,7 +212,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {r2Score >= 65
|
class="stroke-current {r2Score >= 65
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: r2Score >= 50
|
: r2Score >= 50
|
||||||
? 'text-[#F8901E]'
|
? 'text-[#F8901E]'
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
@ -267,7 +267,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {mape <= 15
|
class="stroke-current {mape <= 15
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: mape <= 35
|
: mape <= 35
|
||||||
? 'text-[#F8901E]'
|
? 'text-[#F8901E]'
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { setCache, getCache } from "$lib/store";
|
import { setCache, getCache } from "$lib/store";
|
||||||
import { monthNames } from "$lib/utils";
|
|
||||||
import highcharts from "$lib/highcharts.ts";
|
import highcharts from "$lib/highcharts.ts";
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import { mode } from "mode-watcher";
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
export let symbol;
|
export let symbol;
|
||||||
@ -140,13 +141,13 @@
|
|||||||
radius: 6,
|
radius: 6,
|
||||||
fillColor: markerColor,
|
fillColor: markerColor,
|
||||||
lineWidth: 2,
|
lineWidth: 2,
|
||||||
lineColor: "#FFFFFF",
|
lineColor: $mode === "light" ? "black" : "white",
|
||||||
},
|
},
|
||||||
dataLabels: {
|
dataLabels: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
format: formattedType,
|
format: formattedType,
|
||||||
style: {
|
style: {
|
||||||
color: "#FFFFFF",
|
color: $mode === "light" ? "black" : "white",
|
||||||
fontWeight: "bold",
|
fontWeight: "bold",
|
||||||
fontSize: "14px",
|
fontSize: "14px",
|
||||||
},
|
},
|
||||||
@ -159,7 +160,7 @@
|
|||||||
// Create Highcharts options
|
// Create Highcharts options
|
||||||
const options = {
|
const options = {
|
||||||
chart: {
|
chart: {
|
||||||
backgroundColor: "#09090B",
|
backgroundColor: $mode === "light" ? "#fff" : "#09090B",
|
||||||
height: 360,
|
height: 360,
|
||||||
},
|
},
|
||||||
credits: { enabled: false },
|
credits: { enabled: false },
|
||||||
@ -167,20 +168,20 @@
|
|||||||
title: {
|
title: {
|
||||||
text: `<h3 class="mt-3 mb-1 text-[1rem] sm:text-lg">${symbol} - ${numOfRatings} Transaction</h3>`,
|
text: `<h3 class="mt-3 mb-1 text-[1rem] sm:text-lg">${symbol} - ${numOfRatings} Transaction</h3>`,
|
||||||
useHTML: true,
|
useHTML: true,
|
||||||
style: { color: "white" },
|
style: { color: $mode === "light" ? "black" : "white" },
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: "datetime",
|
type: "datetime",
|
||||||
endOnTick: false,
|
endOnTick: false,
|
||||||
categories: dates,
|
categories: dates,
|
||||||
crosshair: {
|
crosshair: {
|
||||||
color: "#fff", // Set the color of the crosshair line
|
color: $mode === "light" ? "black" : "white", // Set the color of the crosshair line
|
||||||
width: 1, // Adjust the line width as needed
|
width: 1, // Adjust the line width as needed
|
||||||
dashStyle: "Solid",
|
dashStyle: "Solid",
|
||||||
},
|
},
|
||||||
labels: {
|
labels: {
|
||||||
style: {
|
style: {
|
||||||
color: "#fff",
|
color: $mode === "light" ? "black" : "white",
|
||||||
},
|
},
|
||||||
distance: 20, // Increases space between label and axis
|
distance: 20, // Increases space between label and axis
|
||||||
formatter: function () {
|
formatter: function () {
|
||||||
@ -206,9 +207,9 @@
|
|||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
gridLineWidth: 1,
|
gridLineWidth: 1,
|
||||||
gridLineColor: "#111827",
|
gridLineColor: $mode === "light" ? "#d1d5dc" : "#111827",
|
||||||
labels: {
|
labels: {
|
||||||
style: { color: "white" },
|
style: { color: $mode === "light" ? "black" : "white" },
|
||||||
},
|
},
|
||||||
title: { text: null },
|
title: { text: null },
|
||||||
opposite: true,
|
opposite: true,
|
||||||
@ -220,21 +221,27 @@
|
|||||||
borderColor: "rgba(255, 255, 255, 0.2)", // Slightly visible white border
|
borderColor: "rgba(255, 255, 255, 0.2)", // Slightly visible white border
|
||||||
borderWidth: 1,
|
borderWidth: 1,
|
||||||
style: {
|
style: {
|
||||||
color: "#fff",
|
color: "white",
|
||||||
fontSize: "16px",
|
fontSize: "16px",
|
||||||
padding: "10px",
|
padding: "10px",
|
||||||
},
|
},
|
||||||
borderRadius: 4,
|
borderRadius: 4,
|
||||||
formatter: function () {
|
formatter: function () {
|
||||||
// Format the x value to display time in hh:mm format
|
// Format the x value to display time in hh:mm format
|
||||||
let tooltipContent = `<span class="text-white m-auto text-black text-[1rem] font-[501]">${this?.x}</span><br>`;
|
let tooltipContent = `<span class=" m-auto text-[1rem] font-[501]">${new Date(
|
||||||
|
this?.x,
|
||||||
|
).toLocaleDateString("en-US", {
|
||||||
|
year: "numeric",
|
||||||
|
month: "short",
|
||||||
|
day: "numeric",
|
||||||
|
})}</span><br>`;
|
||||||
|
|
||||||
// Loop through each point in the shared tooltip
|
// Loop through each point in the shared tooltip
|
||||||
this.points.forEach((point) => {
|
this.points.forEach((point) => {
|
||||||
tooltipContent += `<span class="text-white font-semibold text-sm">${point.series.name}:</span>
|
tooltipContent += `<span class=" font-semibold text-sm">${point.series.name}:</span>
|
||||||
<span class="text-white font-normal text-sm" style="color:${point.color}">${
|
<span class=" font-normal text-sm">${abbreviateNumber(
|
||||||
point.y
|
point.y,
|
||||||
}</span><br>`;
|
)}</span><br>`;
|
||||||
});
|
});
|
||||||
|
|
||||||
return tooltipContent;
|
return tooltipContent;
|
||||||
@ -242,7 +249,7 @@
|
|||||||
},
|
},
|
||||||
plotOptions: {
|
plotOptions: {
|
||||||
series: {
|
series: {
|
||||||
color: "white",
|
color: $mode === "light" ? "black" : "white",
|
||||||
animation: false, // Disable series animation
|
animation: false, // Disable series animation
|
||||||
states: {
|
states: {
|
||||||
hover: {
|
hover: {
|
||||||
@ -261,7 +268,7 @@
|
|||||||
: value;
|
: value;
|
||||||
}),
|
}),
|
||||||
type: "area",
|
type: "area",
|
||||||
color: "#FFFFFF",
|
color: $mode === "light" ? "#2C6288" : "white",
|
||||||
lineWidth: 1,
|
lineWidth: 1,
|
||||||
animation: false,
|
animation: false,
|
||||||
zIndex: 10,
|
zIndex: 10,
|
||||||
@ -290,7 +297,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
if (symbol && timePeriod) {
|
if ((symbol && timePeriod) || $mode) {
|
||||||
isLoaded = false;
|
isLoaded = false;
|
||||||
config = null;
|
config = null;
|
||||||
historicalData = [];
|
historicalData = [];
|
||||||
@ -313,8 +320,8 @@
|
|||||||
<label
|
<label
|
||||||
on:click={() => (timePeriod = item)}
|
on:click={() => (timePeriod = item)}
|
||||||
class="px-3 py-1 {timePeriod === item
|
class="px-3 py-1 {timePeriod === item
|
||||||
? 'bg-white text-black '
|
? 'bg-gray-300 dark:bg-white text-muted'
|
||||||
: 'text-white bg-table text-opacity-[0.6]'} border border-gray-700 transition ease-out duration-100 sm:hover:bg-white sm:hover:text-black rounded-md cursor-pointer"
|
: 'text-muted dark:text-white bg-gray-100 dark:bg-table text-opacity-[0.6]'} border border-gray-200 dark:border-gray-700 transition ease-out duration-100 sm:hover:bg-white sm:hover:text-black rounded-md cursor-pointer"
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</label>
|
</label>
|
||||||
@ -322,8 +329,8 @@
|
|||||||
<a
|
<a
|
||||||
href="/pricing"
|
href="/pricing"
|
||||||
class="px-3 py-1 flex flex-row items-center {timePeriod === item
|
class="px-3 py-1 flex flex-row items-center {timePeriod === item
|
||||||
? 'bg-white text-black '
|
? 'bg-white text-muted'
|
||||||
: 'text-white bg-table text-opacity-[0.6]'} border border-gray-700 transition ease-out duration-100 sm:hover:bg-white sm:hover:text-black rounded-md cursor-pointer"
|
: 'text-muted dark:text-white bg-table text-opacity-[0.6]'} border border-gray-200 dark:border-gray-700 transition ease-out duration-100 sm:hover:bg-white sm:hover:text-black rounded-md cursor-pointer"
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
<svg
|
<svg
|
||||||
@ -341,13 +348,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="border border-gray-800 rounded w-full"
|
class="border border-gray-300 dark:border-gray-800 rounded w-full"
|
||||||
use:highcharts={config}
|
use:highcharts={config}
|
||||||
></div>
|
></div>
|
||||||
{:else}
|
{:else}
|
||||||
<div class="h-[250px] sm:h-[350px]">
|
<div class="h-[250px] sm:h-[350px]">
|
||||||
<div
|
<div
|
||||||
class="flex h-full w-full flex-col items-center justify-center rounded-sm border border-gray-800 p-6 text-center md:p-12"
|
class="flex h-full w-full flex-col items-center justify-center rounded-sm border border-gray-300 dark:border-gray-800 p-6 text-center md:p-12"
|
||||||
>
|
>
|
||||||
<div class="mb-4 text-white text-[1rem] sm:text-xl font-semibold">
|
<div class="mb-4 text-white text-[1rem] sm:text-xl font-semibold">
|
||||||
No chart data available for {symbol}
|
No chart data available for {symbol}
|
||||||
|
|||||||
@ -77,7 +77,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {oneYearResult > 5
|
class="stroke-current {oneYearResult > 5
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: oneYearResult < 5
|
: oneYearResult < 5
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-white'} text-opacity-[0.7]"
|
: 'text-white'} text-opacity-[0.7]"
|
||||||
@ -114,7 +114,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {oneMonthResult > 5
|
class="stroke-current {oneMonthResult > 5
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: oneMonthResult < 5
|
: oneMonthResult < 5
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-white'} "
|
: 'text-white'} "
|
||||||
|
|||||||
@ -553,7 +553,7 @@
|
|||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{#if item?.changeInSharesNumberPercentage >= 0}
|
{#if item?.changeInSharesNumberPercentage >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{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-500 dark:text-[#00FC50]" : "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-600 dark:text-[#00FC50]" : "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-500 dark:text-[#00FC50]" : consensusRating === "Sell" ? "text-red-500 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-600 dark:text-[#00FC50]" : consensusRating === "Sell" ? "text-red-500 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
|
||||||
|
|||||||
@ -44,7 +44,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Unlimited access to all data and tools
|
Unlimited access to all data and tools
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="mt-2 text-base leading-7">
|
<dd class="mt-2 leading-7">
|
||||||
Unlimited access to all data and tools, giving you the edge over
|
Unlimited access to all data and tools, giving you the edge over
|
||||||
everyone else in the market.
|
everyone else in the market.
|
||||||
</dd>
|
</dd>
|
||||||
@ -72,7 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Realtime Options & Dark Pool Data
|
Realtime Options & Dark Pool Data
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="mt-2 text-base leading-7">
|
<dd class="mt-2 leading-7">
|
||||||
Instant access to live options & dark pool data to spot
|
Instant access to live options & dark pool data to spot
|
||||||
opportunities and trade with precision before the market moves.
|
opportunities and trade with precision before the market moves.
|
||||||
</dd>
|
</dd>
|
||||||
@ -106,7 +106,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Top Wallstreet Analyst Ratings
|
Top Wallstreet Analyst Ratings
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="mt-2 text-base leading-7">
|
<dd class="mt-2 leading-7">
|
||||||
Follow ratings from the best analysts on Wall Street to stay
|
Follow ratings from the best analysts on Wall Street to stay
|
||||||
ahead.
|
ahead.
|
||||||
</dd>
|
</dd>
|
||||||
@ -135,7 +135,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Up to 30 years financial history
|
Up to 30 years financial history
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="mt-2 text-base leading-7">
|
<dd class="mt-2 leading-7">
|
||||||
We deliver premium Wall Street data with top-tier accuracy and up
|
We deliver premium Wall Street data with top-tier accuracy and up
|
||||||
to 30 years of history.
|
to 30 years of history.
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@ -166,7 +166,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {rating > 5
|
class="stroke-current {rating > 5
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: rating < 5
|
: rating < 5
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-white'} "
|
: 'text-white'} "
|
||||||
|
|||||||
@ -73,7 +73,7 @@
|
|||||||
{#each watchList as item}
|
{#each watchList as item}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b-[#09090B]"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b-[#09090B]"
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class="text-sm sm:text-[1rem] text-start border-b-[#09090B]"
|
class="text-sm sm:text-[1rem] text-start border-b-[#09090B]"
|
||||||
@ -128,7 +128,7 @@
|
|||||||
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-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentage?.toFixed(2)}%</span
|
>+{item?.changesPercentage?.toFixed(2)}%</span
|
||||||
>
|
>
|
||||||
{:else}
|
{:else}
|
||||||
|
|||||||
@ -922,7 +922,7 @@
|
|||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href="/"
|
href="/"
|
||||||
class="ml-3 mb-5 flex justify-end items-center h-9 w-9 shrink-0 gap-2 rounded-full text-lg font-semibold text-primary-foreground md:h-10 md:w-10 md:text-base"
|
class="ml-3 mb-5 flex justify-end items-center h-9 w-9 shrink-0 gap-2 rounded-full text-lg font-semibold text-primary-foreground md:h-10 md:w-10 md:"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
class="avatar w-9 3xl:w-12 rounded-full"
|
class="avatar w-9 3xl:w-12 rounded-full"
|
||||||
|
|||||||
@ -474,7 +474,7 @@
|
|||||||
: "decrease"} of {analystReport?.highPriceChange}% from the
|
: "decrease"} of {analystReport?.highPriceChange}% from the
|
||||||
latest price.
|
latest price.
|
||||||
</div>
|
</div>
|
||||||
<table class="w-full text-right xs:text-sm sm:text-base mt-5">
|
<table class="w-full text-right xs:text-sm sm: mt-5">
|
||||||
<thead
|
<thead
|
||||||
><tr
|
><tr
|
||||||
class="border-b border-gray-600 font-normal text-sm sm:text-[1rem]"
|
class="border-b border-gray-600 font-normal text-sm sm:text-[1rem]"
|
||||||
|
|||||||
@ -141,8 +141,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Top Wall Street Analysts</li>
|
<li class="text-muted dark:text-gray-300">Top Wall Street Analysts</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -153,10 +153,10 @@
|
|||||||
>
|
>
|
||||||
<main class="w-full lg:w-3/4 lg:pr-5">
|
<main class="w-full lg:w-3/4 lg:pr-5">
|
||||||
<div class="mb-6 border-b-[2px]">
|
<div class="mb-6 border-b-[2px]">
|
||||||
<h1 class="mb-1 text-white text-2xl sm:text-3xl font-bold">
|
<h1 class="mb-1 text-2xl sm:text-3xl font-bold">
|
||||||
Top Wall Street Analysts
|
Top Wall Street Analysts
|
||||||
</h1>
|
</h1>
|
||||||
<p class="mb-3 px-1 text-base font-semibold text-muted sm:px-0">
|
<p class="mb-3 px-1 font-semibold text-muted sm:px-0">
|
||||||
A list of Wall Street Analysts, ranked by their performance
|
A list of Wall Street Analysts, ranked by their performance
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -167,7 +167,7 @@
|
|||||||
class="w-full m-auto rounded-none sm:rounded-md mb-4 overflow-x-auto sm:overflow-hidden"
|
class="w-full m-auto rounded-none sm:rounded-md mb-4 overflow-x-auto sm:overflow-hidden"
|
||||||
>
|
>
|
||||||
<table
|
<table
|
||||||
class="table table-sm table-compact rounded-none sm:rounded-md w-full bg-table border border-gray-800 m-auto"
|
class="table table-sm table-compact no-scrollbar rounded-none sm:rounded-md w-full bg-white dark:bg-table border border-gray-300 dark:border-gray-800 m-auto"
|
||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<TableHeader {columns} {sortOrders} {sortData} />
|
<TableHeader {columns} {sortOrders} {sortData} />
|
||||||
@ -175,16 +175,14 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each analystList as item, index}
|
{#each analystList as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-odd{index +
|
||||||
1 ===
|
1 ===
|
||||||
rawData?.length &&
|
rawData?.length &&
|
||||||
!['Pro', 'Plus']?.includes(data?.user?.tier)
|
!['Pro', 'Plus']?.includes(data?.user?.tier)
|
||||||
? 'opacity-[0.1]'
|
? 'opacity-[0.1]'
|
||||||
: ''}"
|
: ''}"
|
||||||
>
|
>
|
||||||
<td
|
<td class=" text-sm sm:text-[1rem] text-center">
|
||||||
class="text-white text-sm sm:text-[1rem] text-white text-center"
|
|
||||||
>
|
|
||||||
{item?.rank}
|
{item?.rank}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
@ -194,10 +192,10 @@
|
|||||||
<div class="flex flex-col items-start">
|
<div class="flex flex-col items-start">
|
||||||
<a
|
<a
|
||||||
href={"/analysts/" + item?.analystId}
|
href={"/analysts/" + item?.analystId}
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="font-semibold dark:font-normal text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
>{item?.analystName}
|
>{item?.analystName}
|
||||||
</a>
|
</a>
|
||||||
<!--<span class="text-white">{item?.companyName} </span>-->
|
<!--<span class="">{item?.companyName} </span>-->
|
||||||
<div class="flex flex-row items-center mt-1">
|
<div class="flex flex-row items-center mt-1">
|
||||||
{#each Array.from({ length: 5 }) as _, i}
|
{#each Array.from({ length: 5 }) as _, i}
|
||||||
{#if i < Math.floor(item?.analystScore)}
|
{#if i < Math.floor(item?.analystScore)}
|
||||||
@ -214,7 +212,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
{:else}
|
{:else}
|
||||||
<svg
|
<svg
|
||||||
class="w-3.5 h-3.5 text-gray-300 dark:text-gray-500"
|
class="w-3.5 h-3.5 text-gray-400 dark:text-gray-500"
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
@ -227,7 +225,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{/each}
|
{/each}
|
||||||
|
|
||||||
<span class="ml-1 text-gray-400">
|
<span class="ml-1 dark:text-gray-400">
|
||||||
({item?.analystScore !== null
|
({item?.analystScore !== null
|
||||||
? item?.analystScore
|
? item?.analystScore
|
||||||
: 0})
|
: 0})
|
||||||
@ -237,43 +235,46 @@
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{#if Number(item?.successRate) >= 0}
|
{#if Number(item?.successRate) >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span
|
||||||
|
class="font-semibold dark:font-normal text-green-600 dark:text-[#00FC50]"
|
||||||
>+{Number(item?.successRate)?.toFixed(2)}%</span
|
>+{Number(item?.successRate)?.toFixed(2)}%</span
|
||||||
>
|
>
|
||||||
{/if}
|
{/if}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{#if Number(item?.avgReturn) >= 0}
|
{#if Number(item?.avgReturn) >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span
|
||||||
|
class="font-semibold dark:font-normal text-green-600 dark:text-[#00FC50]"
|
||||||
>+{Number(item?.avgReturn)?.toFixed(2)}%</span
|
>+{Number(item?.avgReturn)?.toFixed(2)}%</span
|
||||||
>
|
>
|
||||||
{:else}
|
{:else}
|
||||||
<span class="text-[#B84242]"
|
<span
|
||||||
|
class="font-semibold dark:font-normal text-[#B84242]"
|
||||||
>{Number(item?.avgReturn)?.toFixed(2)}%</span
|
>{Number(item?.avgReturn)?.toFixed(2)}%</span
|
||||||
>
|
>
|
||||||
{/if}
|
{/if}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-white text-sm sm:text-[1rem] whitespace-nowrap"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.totalRatings}
|
{item?.totalRatings}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<td class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-white text-end">
|
<td class=" text-sm sm:text-[1rem] whitespace-nowrap text-end">
|
||||||
{item?.mainSectors?.at(0)}
|
{item?.mainSectors?.at(0)}
|
||||||
</td>
|
</td>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.lastRating !== null
|
{item?.lastRating !== null
|
||||||
? new Date(item?.lastRating)?.toLocaleString(
|
? new Date(item?.lastRating)?.toLocaleString(
|
||||||
@ -314,12 +315,12 @@
|
|||||||
<div class="mx-auto max-w-7xl px-3 xs:px-6 lg:px-8">
|
<div class="mx-auto max-w-7xl px-3 xs:px-6 lg:px-8">
|
||||||
<div class="mx-auto max-w-2xl md:text-center">
|
<div class="mx-auto max-w-2xl md:text-center">
|
||||||
<h3
|
<h3
|
||||||
class="mt-2 text-2xl font-bold tracking-tight text-white bp:text-3xl"
|
class="mt-2 text-2xl font-bold tracking-tight bp:text-3xl"
|
||||||
>
|
>
|
||||||
Analyst Star Rankings
|
Analyst Star Rankings
|
||||||
</h3>
|
</h3>
|
||||||
<p
|
<p
|
||||||
class="mt-3 text-base leading-8 text-muted dark:text-faded xl:text-lg"
|
class="mt-3 leading-8 text-muted dark:text-faded xl:text-lg"
|
||||||
>
|
>
|
||||||
Our analyst star rankings are based on these four factors
|
Our analyst star rankings are based on these four factors
|
||||||
</p>
|
</p>
|
||||||
@ -329,9 +330,7 @@
|
|||||||
class="grid grid-cols-1 gap-x-8 gap-y-10 md:grid-cols-2 lg:max-w-none lg:grid-cols-4 lg:gap-y-16"
|
class="grid grid-cols-1 gap-x-8 gap-y-10 md:grid-cols-2 lg:max-w-none lg:grid-cols-4 lg:gap-y-16"
|
||||||
>
|
>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -351,16 +350,12 @@
|
|||||||
</div>
|
</div>
|
||||||
Success Rate
|
Success Rate
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The percentage of ratings that are profitable.
|
The percentage of ratings that are profitable.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -380,17 +375,13 @@
|
|||||||
</div>
|
</div>
|
||||||
Average Return
|
Average Return
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The average percentage return within one year of the
|
The average percentage return within one year of the
|
||||||
rating.
|
rating.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -410,17 +401,13 @@
|
|||||||
</div>
|
</div>
|
||||||
Rating Count
|
Rating Count
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The more ratings the analyst has provided, the higher
|
The more ratings the analyst has provided, the higher
|
||||||
the score.
|
the score.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -440,9 +427,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Recency
|
Recency
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
Ratings provided within the past year contribute to a
|
Ratings provided within the past year contribute to a
|
||||||
higher score.
|
higher score.
|
||||||
</dd>
|
</dd>
|
||||||
@ -465,9 +450,7 @@
|
|||||||
<h2 class="text-start text-xl font-semibold ml-3">
|
<h2 class="text-start text-xl font-semibold ml-3">
|
||||||
Top Stocks Picks
|
Top Stocks Picks
|
||||||
</h2>
|
</h2>
|
||||||
<ArrowLogo
|
<ArrowLogo class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:" />
|
||||||
class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:text-white"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="p-3 ml-3 mr-3">
|
<span class="p-3 ml-3 mr-3">
|
||||||
Get the latest top Wall Street analyst ratings.
|
Get the latest top Wall Street analyst ratings.
|
||||||
@ -486,9 +469,7 @@
|
|||||||
<h2 class="text-start text-xl font-semibold ml-3">
|
<h2 class="text-start text-xl font-semibold ml-3">
|
||||||
Top Shorted Stocks
|
Top Shorted Stocks
|
||||||
</h2>
|
</h2>
|
||||||
<ArrowLogo
|
<ArrowLogo class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:" />
|
||||||
class="w-8 h-8 mr-3 shrink-0 text-gray-400 dark:text-white"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="p-3 ml-3 mr-3">
|
<span class="p-3 ml-3 mr-3">
|
||||||
Never miss out another short squeeze
|
Never miss out another short squeeze
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { screenWidth, numberOfUnreadNotification } from "$lib/store";
|
import { screenWidth } from "$lib/store";
|
||||||
import { sectorNavigation } from "$lib/utils";
|
import { sectorNavigation } from "$lib/utils";
|
||||||
import TableHeader from "$lib/components/Table/TableHeader.svelte";
|
import TableHeader from "$lib/components/Table/TableHeader.svelte";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
@ -180,10 +180,12 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li><a href="/analysts" class="text-gray-300">Analyst</a></li>
|
<li>
|
||||||
|
<a href="/analysts" class="text-muted dark:text-gray-300">Analyst</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="text-gray-300">{analystName ?? "n/a"}</li>
|
<li class="text-muted dark:text-gray-300">{analystName ?? "n/a"}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -200,7 +202,7 @@
|
|||||||
>
|
>
|
||||||
<div class="shrink-0">
|
<div class="shrink-0">
|
||||||
<svg
|
<svg
|
||||||
class="h-16 w-16 sm:h-20 sm:w-20 text-gray-200"
|
class="h-16 w-16 sm:h-20 sm:w-20 text-gray-500 dark:text-gray-200"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
style="max-width:100px"
|
style="max-width:100px"
|
||||||
@ -212,10 +214,12 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-0 pt-0.5 text-left">
|
<div class="mt-0 pt-0.5 text-left">
|
||||||
<h1 class="mb-0 text-2xl font-bold text-white">
|
<h1 class="mb-0 text-2xl font-bold">
|
||||||
{analystName ?? "n/a"}
|
{analystName ?? "n/a"}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="mb-0.5 text-[1rem] font-semibold text-gray-300">
|
<p
|
||||||
|
class="mb-0.5 text-[1rem] font-semibold text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
Stock Analyst at {companyName ?? "n/a"}
|
Stock Analyst at {companyName ?? "n/a"}
|
||||||
</p>
|
</p>
|
||||||
<div class="inline-flex items-center">
|
<div class="inline-flex items-center">
|
||||||
@ -235,7 +239,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
{:else}
|
{:else}
|
||||||
<svg
|
<svg
|
||||||
class="w-5 h-5 text-gray-300 dark:text-gray-500"
|
class="w-5 h-5 text-gray-400 dark:text-gray-500"
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
@ -248,39 +252,39 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
<span class="ml-1 text-[1rem] text-white"
|
<span class="ml-1 text-[1rem]"
|
||||||
>({analystScore ?? "n/a"})</span
|
>({analystScore ?? "n/a"})</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-4 grid grid-cols-2 overflow-hidden rounded border border-gray-600 py-2 text-center md:grid-cols-4 md:p-0 lg:mt-0 lg:border-none"
|
class="mt-4 grid grid-cols-2 overflow-hidden rounded border border-gray-300 dark:border-gray-600 py-2 text-center md:grid-cols-4 md:p-0 lg:mt-0 lg:border-none"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col px-4 py-2 bp:px-6 md:py-6">
|
<div class="flex flex-col px-4 py-2 bp:px-6 md:py-6">
|
||||||
<div class="text-2xl font-semibold tracking-tight text-white">
|
<div class="text-2xl font-semibold tracking-tight">
|
||||||
# {rank ?? "n/a"}
|
# {rank ?? "n/a"}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="text-[1rem] font-semibold leading-6 text-gray-300"
|
class="text-[1rem] font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
>
|
>
|
||||||
Out of {numOfAnalysts ?? "n/a"} analysts
|
Out of {numOfAnalysts ?? "n/a"} analysts
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-bold tracking-tight text-white">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
{totalRatings ?? "n/a"}
|
{totalRatings ?? "n/a"}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="text-[1rem] font-semibold leading-6 text-gray-300"
|
class="text-[1rem] font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
>
|
>
|
||||||
Total ratings
|
Total ratings
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-bold tracking-tight">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
<span
|
<span
|
||||||
@ -288,35 +292,35 @@
|
|||||||
? "before:content-['+'] text-[#36D984]"
|
? "before:content-['+'] text-[#36D984]"
|
||||||
: successRate < 0 && successRate !== undefined
|
: successRate < 0 && successRate !== undefined
|
||||||
? "text-[#EF4444]"
|
? "text-[#EF4444]"
|
||||||
: "text-white"}
|
: ""}
|
||||||
>{successRate !== undefined
|
>{successRate !== undefined
|
||||||
? successRate?.toFixed(2) + "%"
|
? successRate?.toFixed(2) + "%"
|
||||||
: "n/a"}</span
|
: "n/a"}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="text-[1rem] font-semibold leading-6 text-gray-300"
|
class="text-[1rem] font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
>
|
>
|
||||||
Success rate
|
Success rate
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-bold tracking-tight text-white">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
<span
|
<span
|
||||||
class={avgReturn >= 0 && avgReturn !== undefined
|
class={avgReturn >= 0 && avgReturn !== undefined
|
||||||
? "before:content-['+'] text-[#36D984]"
|
? "before:content-['+'] text-[#36D984]"
|
||||||
: avgReturn < 0 && avgReturn !== undefined
|
: avgReturn < 0 && avgReturn !== undefined
|
||||||
? "text-[#EF4444]"
|
? "text-[#EF4444]"
|
||||||
: "text-white"}
|
: ""}
|
||||||
>{avgReturn !== undefined
|
>{avgReturn !== undefined
|
||||||
? avgReturn?.toFixed(2) + "%"
|
? avgReturn?.toFixed(2) + "%"
|
||||||
: "n/a"}</span
|
: "n/a"}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="text-[1rem] font-semibold leading-6 text-gray-300"
|
class="text-[1rem] font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
>
|
>
|
||||||
Average return
|
Average return
|
||||||
</div>
|
</div>
|
||||||
@ -325,9 +329,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if data?.getAnalystStats?.mainSectors?.length > 0}
|
{#if data?.getAnalystStats?.mainSectors?.length > 0}
|
||||||
<div class="mb-10 mt-10 text-white">
|
<div class="mb-10 mt-10">
|
||||||
<div
|
<div
|
||||||
class="relative my-3 space-y-2 rounded border border-gray-600 sm:my-6 p-4"
|
class="relative my-3 space-y-2 rounded border border-gray-300 dark:border-gray-600 sm:my-6 p-4"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col sm:flex-row">
|
<div class="flex flex-col sm:flex-row">
|
||||||
<div class="mb-2 font-semibold sm:mb-0">Main Sectors:</div>
|
<div class="mb-2 font-semibold sm:mb-0">Main Sectors:</div>
|
||||||
@ -337,7 +341,7 @@
|
|||||||
href={sectorNavigation?.find(
|
href={sectorNavigation?.find(
|
||||||
(listItem) => listItem?.title === item,
|
(listItem) => listItem?.title === item,
|
||||||
)?.link}
|
)?.link}
|
||||||
class="px-3 text-sm py-1 sm:text-[1rem] rounded-md bg-white/10 sm:hover:bg-white/20 ml-0"
|
class="inline-block badge bg-blue-50 dark:bg-primary duration-0 rounded-sm ml-1 px-3 m-auto text-blue-600 dark:text-blue-400 dark:sm:hover:text-white sm:hover:text-muted text-[1rem]"
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</a>
|
</a>
|
||||||
@ -352,7 +356,7 @@
|
|||||||
{#each data?.getAnalystStats?.mainIndustries as item}
|
{#each data?.getAnalystStats?.mainIndustries as item}
|
||||||
<a
|
<a
|
||||||
href={`/list/industry/${item?.replace(/ /g, "-")?.replace(/&/g, "and")?.replace(/-{2,}/g, "-")?.toLowerCase()}`}
|
href={`/list/industry/${item?.replace(/ /g, "-")?.replace(/&/g, "and")?.replace(/-{2,}/g, "-")?.toLowerCase()}`}
|
||||||
class="px-3 text-sm py-1 sm:text-[1rem] rounded-md bg-white/10 sm:hover:bg-white/20 ml-0"
|
class="inline-block badge bg-blue-50 dark:bg-primary duration-0 rounded-sm ml-1 px-3 m-auto text-blue-600 dark:text-blue-400 dark:sm:hover:text-white sm:hover:text-muted text-[1rem]"
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</a>
|
</a>
|
||||||
@ -364,16 +368,16 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if rawData?.length > 0}
|
{#if rawData?.length > 0}
|
||||||
<span class="text-white font-semibold text-xl sm:text-2xl">
|
<span class=" font-semibold text-xl sm:text-2xl">
|
||||||
{numOfStocks} Stocks
|
{numOfStocks} Stocks
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div class="w-full m-auto mt-10">
|
<div class="w-full m-auto mt-4">
|
||||||
<div
|
<div
|
||||||
class="w-full m-auto rounded-none sm:rounded-md mb-4 overflow-x-auto"
|
class="w-full m-auto rounded-none sm:rounded-md mb-4 overflow-x-auto"
|
||||||
>
|
>
|
||||||
<table
|
<table
|
||||||
class="table table-sm table-compact rounded-none sm:rounded-md w-full bg-table border border-gray-800 m-auto"
|
class="table table-sm table-compact no-scrollbar rounded-none sm:rounded-md w-full bg-white dark:bg-table border border-gray-300 dark:border-gray-800 m-auto"
|
||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<TableHeader {columns} {sortOrders} {sortData} />
|
<TableHeader {columns} {sortOrders} {sortData} />
|
||||||
@ -381,7 +385,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each stockList as item, index}
|
{#each stockList as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b-[#09090B]"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-odd"
|
||||||
>
|
>
|
||||||
<td class="hidden lg:table-cell"
|
<td class="hidden lg:table-cell"
|
||||||
><button
|
><button
|
||||||
@ -393,7 +397,7 @@
|
|||||||
? 'rotate-180'
|
? 'rotate-180'
|
||||||
: ''}"
|
: ''}"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
fill="white"
|
fill="currentColor"
|
||||||
style="max-width:40px"
|
style="max-width:40px"
|
||||||
><path
|
><path
|
||||||
fill-rule="evenodd"
|
fill-rule="evenodd"
|
||||||
@ -410,20 +414,20 @@
|
|||||||
{#if index >= 5 && !["Pro", "Plus"]?.includes(data?.user?.tier)}
|
{#if index >= 5 && !["Pro", "Plus"]?.includes(data?.user?.tier)}
|
||||||
<a class="block relative" href="/pricing">
|
<a class="block relative" href="/pricing">
|
||||||
<span
|
<span
|
||||||
class="text-base font-semibold text-blue-link blur-sm group-hover:blur-[6px]"
|
class=" font-semibold text-blue-link blur-sm group-hover:blur-[6px]"
|
||||||
>
|
>
|
||||||
XXXX
|
XXXX
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="ml-px max-w-[130px] truncate text-sm text-white blur-sm group-hover:blur-[6px] lg:max-w-[150px]"
|
class="ml-px max-w-[130px] truncate text-sm blur-sm group-hover:blur-[6px] lg:max-w-[150px]"
|
||||||
>
|
>
|
||||||
XXXXXXXXXXXXXXXX
|
XXXXXXXXXXXXXXXX
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="absolute top-3 flex items-center">
|
<div class="absolute top-3 flex items-center">
|
||||||
<svg
|
<svg
|
||||||
class="size-5 text-[#fff]"
|
class="size-5 text-muted dark:text-[#fff]"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
style="max-width: 40px;"
|
style="max-width: 40px;"
|
||||||
@ -437,7 +441,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
<span
|
<span
|
||||||
class="ml-1 font-semibold text-gray-300 group-hover:text-white"
|
class="ml-1 font-semibold text-muted dark:text-gray-300"
|
||||||
>
|
>
|
||||||
Upgrade
|
Upgrade
|
||||||
</span>
|
</span>
|
||||||
@ -447,7 +451,7 @@
|
|||||||
<div class="flex flex-col items-start">
|
<div class="flex flex-col items-start">
|
||||||
<HoverStockChart symbol={item?.ticker} />
|
<HoverStockChart symbol={item?.ticker} />
|
||||||
|
|
||||||
<span class="text-white">
|
<span class="">
|
||||||
{item?.name?.length > charNumber
|
{item?.name?.length > charNumber
|
||||||
? item?.name?.slice(0, charNumber) + "..."
|
? item?.name?.slice(0, charNumber) + "..."
|
||||||
: item?.name}
|
: item?.name}
|
||||||
@ -460,18 +464,16 @@
|
|||||||
class="text-sm sm:text-[1rem] text-start whitespace-nowrap"
|
class="text-sm sm:text-[1rem] text-start whitespace-nowrap"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col sm:flex-row items-start">
|
<div class="flex flex-col sm:flex-row items-start">
|
||||||
<span class=" text-white mr-1"
|
<span class="mr-1">{item?.action_company}:</span>
|
||||||
>{item?.action_company}:</span
|
|
||||||
>
|
|
||||||
<span
|
<span
|
||||||
class=" {[
|
class=" {[
|
||||||
'Strong Buy',
|
'Strong Buy',
|
||||||
'Buy',
|
'Buy',
|
||||||
'Outperform',
|
'Outperform',
|
||||||
]?.includes(item?.rating_current)
|
]?.includes(item?.rating_current)
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: item?.rating_current === 'Hold'
|
: item?.rating_current === 'Hold'
|
||||||
? 'text-[#FF7070]'
|
? '"text-red-600 dark:text-[#FF7070]"'
|
||||||
: [
|
: [
|
||||||
'Strong Sell',
|
'Strong Sell',
|
||||||
'Sell',
|
'Sell',
|
||||||
@ -485,12 +487,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
||||||
class="text-white text-sm sm:text-[1rem] whitespace-nowrap"
|
|
||||||
>
|
|
||||||
<div class="flex flex-row items-center justify-end">
|
<div class="flex flex-row items-center justify-end">
|
||||||
{#if Math?.ceil(item?.adjusted_pt_prior) !== 0}
|
{#if Math?.ceil(item?.adjusted_pt_prior) !== 0}
|
||||||
<span class="text-gray-100 font-normal"
|
<span
|
||||||
|
class="text-muted dark:text-gray-100 font-normal"
|
||||||
>{Math?.ceil(item?.adjusted_pt_prior)}</span
|
>{Math?.ceil(item?.adjusted_pt_prior)}</span
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@ -499,18 +500,18 @@
|
|||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
><path
|
><path
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke="white"
|
stroke="currentColor"
|
||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
stroke-width="1.5"
|
stroke-width="1.5"
|
||||||
d="M4 12h16m0 0l-6-6m6 6l-6 6"
|
d="M4 12h16m0 0l-6-6m6 6l-6 6"
|
||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
<span class="text-white font-semibold"
|
<span class=" font-semibold"
|
||||||
>{Math?.ceil(item?.adjusted_pt_current)}</span
|
>{Math?.ceil(item?.adjusted_pt_current)}</span
|
||||||
>
|
>
|
||||||
{:else if Math?.ceil(item?.adjusted_pt_current) !== 0}
|
{:else if Math?.ceil(item?.adjusted_pt_current) !== 0}
|
||||||
<span class="text-white font-semibold"
|
<span class=" font-semibold"
|
||||||
>{Math?.ceil(item?.adjusted_pt_current)}</span
|
>{Math?.ceil(item?.adjusted_pt_current)}</span
|
||||||
>
|
>
|
||||||
{:else}
|
{:else}
|
||||||
@ -520,29 +521,29 @@
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.price !== null ? item?.price : "n/a"}
|
{item?.price !== null ? item?.price : "n/a"}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="{item?.upside >= 0 && item?.upside !== null
|
class="{item?.upside >= 0 && item?.upside !== null
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: item?.upside < 0 && item?.upside !== null
|
: item?.upside < 0 && item?.upside !== null
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-red-600 dark:text-[#FF2F1F]'
|
||||||
: 'text-white'} 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"}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.ratings !== null ? item?.ratings : "n/a"}
|
{item?.ratings !== null ? item?.ratings : "n/a"}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
class=" text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{new Date(item?.date).toLocaleString("en-US", {
|
{new Date(item?.date).toLocaleString("en-US", {
|
||||||
month: "short",
|
month: "short",
|
||||||
@ -553,7 +554,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{#if checkedSymbol === item?.ticker}
|
{#if checkedSymbol === item?.ticker}
|
||||||
<tr class="bg-default"
|
<tr class=""
|
||||||
><td colspan="8" class="px-0" style=""
|
><td colspan="8" class="px-0" style=""
|
||||||
><div class="-mt-0.5 px-0 pb-2">
|
><div class="-mt-0.5 px-0 pb-2">
|
||||||
<div class="relative h-[400px]">
|
<div class="relative h-[400px]">
|
||||||
|
|||||||
@ -35,8 +35,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Top Analyst Stocks</li>
|
<li class="text-muted dark:text-gray-300">Top Analyst Stocks</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -47,7 +47,7 @@
|
|||||||
>
|
>
|
||||||
<main class="w-full lg:pr-5">
|
<main class="w-full lg:pr-5">
|
||||||
<div class="mb-6 border-b-[2px]">
|
<div class="mb-6 border-b-[2px]">
|
||||||
<h1 class="mb-3 text-white text-2xl sm:text-3xl font-bold">
|
<h1 class="mb-3 text-2xl sm:text-3xl font-bold">
|
||||||
Top Strong Buy Stocks
|
Top Strong Buy Stocks
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
text={"Strong Buy stocks by top-rated analysts with a star rating of 4 or above, known for their exceptional accuracy and returns. Stocks are ranked based on the volume of analyst ratings."}
|
text={"Strong Buy stocks by top-rated analysts with a star rating of 4 or above, known for their exceptional accuracy and returns. Stocks are ranked based on the volume of analyst ratings."}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="w-full m-auto mt-10">
|
<div class="w-full m-auto">
|
||||||
<Table
|
<Table
|
||||||
{data}
|
{data}
|
||||||
{rawData}
|
{rawData}
|
||||||
@ -69,14 +69,10 @@
|
|||||||
<div class="mt-4 py-6 xl:mt-10 border-t border-gray-200">
|
<div class="mt-4 py-6 xl:mt-10 border-t border-gray-200">
|
||||||
<div class="mx-auto max-w-7xl px-3 xs:px-6 lg:px-8">
|
<div class="mx-auto max-w-7xl px-3 xs:px-6 lg:px-8">
|
||||||
<div class="mx-auto max-w-2xl md:text-center">
|
<div class="mx-auto max-w-2xl md:text-center">
|
||||||
<h3
|
<h3 class="mt-2 text-2xl font-bold tracking-tight bp:text-3xl">
|
||||||
class="mt-2 text-2xl font-bold tracking-tight text-white bp:text-3xl"
|
|
||||||
>
|
|
||||||
Analyst Star Rankings
|
Analyst Star Rankings
|
||||||
</h3>
|
</h3>
|
||||||
<p
|
<p class="mt-3 leading-8 text-muted dark:text-faded xl:text-lg">
|
||||||
class="mt-3 text-base leading-8 text-muted dark:text-faded xl:text-lg"
|
|
||||||
>
|
|
||||||
Our analyst star rankings are based on these four factors
|
Our analyst star rankings are based on these four factors
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -85,9 +81,7 @@
|
|||||||
class="grid grid-cols-1 gap-x-8 gap-y-10 md:grid-cols-2 lg:max-w-none lg:grid-cols-4 lg:gap-y-16"
|
class="grid grid-cols-1 gap-x-8 gap-y-10 md:grid-cols-2 lg:max-w-none lg:grid-cols-4 lg:gap-y-16"
|
||||||
>
|
>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -107,16 +101,12 @@
|
|||||||
</div>
|
</div>
|
||||||
Success Rate
|
Success Rate
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The percentage of ratings that are profitable.
|
The percentage of ratings that are profitable.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -136,17 +126,13 @@
|
|||||||
</div>
|
</div>
|
||||||
Average Return
|
Average Return
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The average percentage return within one year of the
|
The average percentage return within one year of the
|
||||||
rating.
|
rating.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -166,17 +152,13 @@
|
|||||||
</div>
|
</div>
|
||||||
Rating Count
|
Rating Count
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The more ratings the analyst has provided, the higher the
|
The more ratings the analyst has provided, the higher the
|
||||||
score.
|
score.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt class=" font-semibold leading-4 md:leading-7">
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
>
|
>
|
||||||
@ -196,9 +178,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Recency
|
Recency
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
Ratings provided within the past year contribute to a
|
Ratings provided within the past year contribute to a
|
||||||
higher score.
|
higher score.
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@ -159,8 +159,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Corporate Lobbying Tracker</li>
|
<li class="text-muted dark:text-gray-300">Corporate Lobbying Tracker</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -174,7 +174,7 @@
|
|||||||
<h1 class="mb-1 text-white text-2xl sm:text-3xl font-bold">
|
<h1 class="mb-1 text-white text-2xl sm:text-3xl font-bold">
|
||||||
Lobbying Tracker
|
Lobbying Tracker
|
||||||
</h1>
|
</h1>
|
||||||
<p class="mb-3 px-1 text-base font-semibold text-muted sm:px-0">
|
<p class="mb-3 px-1 font-semibold text-muted sm:px-0">
|
||||||
Track the latest lobbying spendings of US stock companies
|
Track the latest lobbying spendings of US stock companies
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -230,7 +230,7 @@
|
|||||||
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-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentage >= 1000
|
>+{item?.changesPercentage >= 1000
|
||||||
? item?.changesPercentage
|
? item?.changesPercentage
|
||||||
: item?.changesPercentage?.toFixed(2)}%</span
|
: item?.changesPercentage?.toFixed(2)}%</span
|
||||||
|
|||||||
@ -701,8 +701,8 @@
|
|||||||
<!--
|
<!--
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs mb-5">
|
<div class="text-sm sm:text-[1rem] breadcrumbs mb-5">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Options Flow</li>
|
<li class="text-muted dark:text-gray-300">Options Flow</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
@ -899,7 +899,7 @@
|
|||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
for="ruleModal"
|
for="ruleModal"
|
||||||
class="inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
class="inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-5 w-5"
|
class="h-5 w-5"
|
||||||
@ -920,7 +920,7 @@
|
|||||||
{#if ruleOfList?.length !== 0}
|
{#if ruleOfList?.length !== 0}
|
||||||
<label
|
<label
|
||||||
on:click={handleResetAll}
|
on:click={handleResetAll}
|
||||||
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold text-white shadow-xs bg-[#000] sm:hover:text-red-500 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold text-white shadow-xs bg-[#000] sm:hover:text-red-500 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-4 w-4"
|
class="h-4 w-4"
|
||||||
|
|||||||
@ -313,8 +313,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Dividends Calendar</li>
|
<li class="text-muted dark:text-gray-300">Dividends Calendar</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -453,7 +453,7 @@
|
|||||||
{#each day as item}
|
{#each day as item}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800"
|
||||||
>
|
>
|
||||||
<td class=" text-sm sm:text-[1rem]">
|
<td class=" text-sm sm:text-[1rem]">
|
||||||
<HoverStockChart symbol={item?.symbol} />
|
<HoverStockChart symbol={item?.symbol} />
|
||||||
|
|||||||
@ -315,8 +315,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Earnings Calendar</li>
|
<li class="text-muted dark:text-gray-300">Earnings Calendar</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -454,7 +454,7 @@
|
|||||||
{#each ["Pro", "Plus"]?.includes(data?.user?.tier) ? day : day?.slice(0, 6) as item, index}
|
{#each ["Pro", "Plus"]?.includes(data?.user?.tier) ? day : day?.slice(0, 6) as item, index}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
day?.slice(0, 6)?.length &&
|
day?.slice(0, 6)?.length &&
|
||||||
!['Pro', 'Plus']?.includes(data?.user?.tier)
|
!['Pro', 'Plus']?.includes(data?.user?.tier)
|
||||||
|
|||||||
@ -302,8 +302,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Economic Calendar</li>
|
<li class="text-muted dark:text-gray-300">Economic Calendar</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -619,7 +619,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each day as item}
|
{#each day as item}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder border-gray-800"
|
||||||
>
|
>
|
||||||
<td class="text-white text-sm sm:text-[1rem]">
|
<td class="text-white text-sm sm:text-[1rem]">
|
||||||
{item?.time}
|
{item?.time}
|
||||||
|
|||||||
@ -627,8 +627,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">US Economic Indicator</li>
|
<li class="text-muted dark:text-gray-300">US Economic Indicator</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -870,7 +870,7 @@
|
|||||||
{#each tableList as item}
|
{#each tableList as item}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder border-gray-800"
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class="text-white text-sm sm:text-[1rem] whitespace-nowrap"
|
class="text-white text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
|
|||||||
@ -753,7 +753,7 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class={displayLegend?.change >= 0
|
class={displayLegend?.change >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}
|
: "text-[#FF2F1F]"}
|
||||||
>
|
>
|
||||||
{displayLegend?.change}
|
{displayLegend?.change}
|
||||||
@ -795,9 +795,9 @@
|
|||||||
{prePostData?.price?.toFixed(2)}
|
{prePostData?.price?.toFixed(2)}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1.5 block text-sm xs:text-base 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-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
>
|
>
|
||||||
{prePostData?.changesPercentage?.toFixed(
|
{prePostData?.changesPercentage?.toFixed(
|
||||||
|
|||||||
@ -746,7 +746,7 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class={displayLegend?.graphChange >= 0
|
class={displayLegend?.graphChange >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}
|
: "text-[#FF2F1F]"}
|
||||||
>
|
>
|
||||||
{displayLegend?.graphChange ??
|
{displayLegend?.graphChange ??
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{formatDate(item?.publishedDate)} ·
|
{formatDate(item?.publishedDate)} ·
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.url}
|
href={item?.url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{formatDate(item?.publishedDate)} ·
|
{formatDate(item?.publishedDate)} ·
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.url}
|
href={item?.url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -248,7 +248,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {buySellRatio >= 0.5
|
class="stroke-current {buySellRatio >= 0.5
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: 'text-[#EE5365]'} "
|
: 'text-[#EE5365]'} "
|
||||||
stroke-width="3"
|
stroke-width="3"
|
||||||
stroke-dasharray="100"
|
stroke-dasharray="100"
|
||||||
@ -371,7 +371,7 @@
|
|||||||
<div class="flex flex-col ml-3 font-normal">
|
<div class="flex flex-col ml-3 font-normal">
|
||||||
<a
|
<a
|
||||||
href={`/politicians/${item?.id}`}
|
href={`/politicians/${item?.id}`}
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
>{getAbbreviatedName(
|
>{getAbbreviatedName(
|
||||||
item?.representative?.replace("_", " "),
|
item?.representative?.replace("_", " "),
|
||||||
)}</a
|
)}</a
|
||||||
@ -410,7 +410,9 @@
|
|||||||
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
||||||
>
|
>
|
||||||
{#if item?.type === "Bought"}
|
{#if item?.type === "Bought"}
|
||||||
<span class="text-[#00FC50]">Bought</span>
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
|
>Bought</span
|
||||||
|
>
|
||||||
{:else if item?.type === "Sold"}
|
{:else if item?.type === "Sold"}
|
||||||
<span class="text-[#FF2F1F]">Sold</span>
|
<span class="text-[#FF2F1F]">Sold</span>
|
||||||
{:else if item?.type === "Exchange"}
|
{:else if item?.type === "Exchange"}
|
||||||
|
|||||||
@ -411,7 +411,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? optionList : optionList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? optionList : optionList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
optionList?.slice(0, 3)?.length &&
|
optionList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -424,7 +424,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentage >= 1000
|
>+{item?.changesPercentage >= 1000
|
||||||
? abbreviateNumberWithColor(
|
? abbreviateNumberWithColor(
|
||||||
item?.changesPercentage,
|
item?.changesPercentage,
|
||||||
@ -552,7 +552,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changeOI >= 0}
|
{#if item?.changeOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -566,7 +566,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentageOI >= 0}
|
{#if item?.changesPercentageOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentageOI >= 1000
|
>+{item?.changesPercentageOI >= 1000
|
||||||
? abbreviateNumberWithColor(
|
? abbreviateNumberWithColor(
|
||||||
item?.changesPercentageOI,
|
item?.changesPercentageOI,
|
||||||
|
|||||||
@ -143,8 +143,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Heatmap</li>
|
<li class="text-muted dark:text-gray-300">Heatmap</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -87,8 +87,8 @@
|
|||||||
<body class="w-full overflow-hidden m-auto">
|
<body class="w-full overflow-hidden m-auto">
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Hedge Funds</li>
|
<li class="text-muted dark:text-gray-300">Hedge Funds</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -98,22 +98,22 @@
|
|||||||
class="relative flex justify-center items-center overflow-hidden w-full"
|
class="relative flex justify-center items-center overflow-hidden w-full"
|
||||||
>
|
>
|
||||||
<main class="w-full">
|
<main class="w-full">
|
||||||
<h1 class="mb-3 text-white text-2xl sm:text-3xl font-bold">
|
<h1 class="mb-3 text-2xl sm:text-3xl font-bold">
|
||||||
All US Hedge Funds
|
All US Hedge Funds
|
||||||
</h1>
|
</h1>
|
||||||
<div class="w-full pb-3">
|
<div class="w-full pb-3">
|
||||||
<div class="relative right-0 bg-default">
|
<div class="relative right-0">
|
||||||
<ul
|
<ul
|
||||||
class="relative grid grid-cols-1 sm:grid-cols-4 gap-y-3 gap-x-3 flex flex-wrap p-1 list-none rounded-[3px]"
|
class="relative grid grid-cols-1 sm:grid-cols-4 gap-y-3 gap-x-3 flex flex-wrap p-1 list-none rounded-[3px]"
|
||||||
>
|
>
|
||||||
<li
|
<li
|
||||||
class="pl-3 py-1.5 flex-auto text-center bg-[#2E3238] rounded-[3px]"
|
class="pl-3 py-1.5 flex-auto text-center shadow-sm bg-gray-100 dark:bg-[#2E3238] rounded-[3px]"
|
||||||
>
|
>
|
||||||
<label class="flex flex-row items-center">
|
<label class="flex flex-row items-center">
|
||||||
<input
|
<input
|
||||||
id="modal-search"
|
id="modal-search"
|
||||||
type="search"
|
type="search"
|
||||||
class="text-white ml-2 text-[1rem] placeholder-gray-400 border-transparent focus:border-transparent focus:ring-0 flex items-center justify-center w-full px-0 py-1 bg-inherit"
|
class=" ml-2 text-[1rem] dark:placeholder-gray-400 bg-inherit border-transparent focus:border-transparent focus:ring-0 flex items-center justify-center w-full px-0 py-1"
|
||||||
placeholder="Find by name"
|
placeholder="Find by name"
|
||||||
bind:value={filterQuery}
|
bind:value={filterQuery}
|
||||||
on:input={handleInput}
|
on:input={handleInput}
|
||||||
@ -124,7 +124,7 @@
|
|||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
><path
|
><path
|
||||||
fill="#fff"
|
fill="currentColor"
|
||||||
d="m19.485 20.154l-6.262-6.262q-.75.639-1.725.989t-1.96.35q-2.402 0-4.066-1.663T3.808 9.503T5.47 5.436t4.064-1.667t4.068 1.664T15.268 9.5q0 1.042-.369 2.017t-.97 1.668l6.262 6.261zM9.539 14.23q1.99 0 3.36-1.37t1.37-3.361t-1.37-3.36t-3.36-1.37t-3.361 1.37t-1.37 3.36t1.37 3.36t3.36 1.37"
|
d="m19.485 20.154l-6.262-6.262q-.75.639-1.725.989t-1.96.35q-2.402 0-4.066-1.663T3.808 9.503T5.47 5.436t4.064-1.667t4.068 1.664T15.268 9.5q0 1.042-.369 2.017t-.97 1.668l6.262 6.261zM9.539 14.23q1.99 0 3.36-1.37t1.37-3.361t-1.37-3.36t-3.36-1.37t-3.361 1.37t-1.37 3.36t1.37 3.36t3.36 1.37"
|
||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
@ -141,7 +141,7 @@
|
|||||||
{#each displayList as item}
|
{#each displayList as item}
|
||||||
<a
|
<a
|
||||||
href={`/hedge-funds/${item?.cik}`}
|
href={`/hedge-funds/${item?.cik}`}
|
||||||
class="w-full cursor-pointer bg-[#141417] sm:hover:bg-[#000] transition-colors ease-in-out border sm:hover:border-[#000] sm:hover:shadow-[#8C5F1B] border-gray-800 shadow-md rounded-md h-auto pb-4 pt-4 mb-7"
|
class="w-full cursor-pointer bg-gray-300 dark:bg-[#141417] sm:hover:bg-gray-400 dark:sm:hover:bg-[#000] transition-colors ease-in-out border dark:sm:hover:border-[#000] sm:hover:shadow-[#8C5F1B] border-gray-300 dark:border-gray-800 shadow-md rounded-md h-auto pb-4 pt-4 mb-7"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col relative">
|
<div class="flex flex-col relative">
|
||||||
<img
|
<img
|
||||||
@ -152,7 +152,7 @@
|
|||||||
class="flex flex-col justify-center items-center rounded-2xl"
|
class="flex flex-col justify-center items-center rounded-2xl"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="-mt-3 shadow-lg rounded-full border border-slate-600 w-20 h-20 relative hedge-fund-striped bg-[#20202E] flex items-center justify-center"
|
class="-mt-3 shadow-lg rounded-full border border-slate-300 dark:border-slate-600 w-20 h-20 relative hedge-fund-striped bg-[#20202E] flex items-center justify-center"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
style="clip-path: circle(50%);"
|
style="clip-path: circle(50%);"
|
||||||
@ -162,11 +162,11 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="text-white text-md font-semibold mt-2 mb-2 w-64 text-center"
|
class=" text-md font-semibold mt-2 mb-2 w-64 text-center"
|
||||||
>
|
>
|
||||||
{formatString(item?.name)}
|
{formatString(item?.name)}
|
||||||
</span>
|
</span>
|
||||||
<span class="text-white text-md mb-8">
|
<span class=" text-md mb-8">
|
||||||
AUM: {abbreviateNumber(item?.marketValue)}
|
AUM: {abbreviateNumber(item?.marketValue)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -178,21 +178,20 @@
|
|||||||
<label
|
<label
|
||||||
class="cursor-pointer flex flex-col items-start"
|
class="cursor-pointer flex flex-col items-start"
|
||||||
>
|
>
|
||||||
<span class="text-white text-[1rem] font-semibold">
|
<span class=" text-[1rem] font-semibold">
|
||||||
{new Intl.NumberFormat("en", {
|
{new Intl.NumberFormat("en", {
|
||||||
minimumFractionDigits: 0,
|
minimumFractionDigits: 0,
|
||||||
maximumFractionDigits: 0,
|
maximumFractionDigits: 0,
|
||||||
}).format(item?.numberOfStocks)}
|
}).format(item?.numberOfStocks)}
|
||||||
</span>
|
</span>
|
||||||
<span class="text-white text-sm"># of Holdings</span
|
<span class=" text-sm"># of Holdings</span>
|
||||||
>
|
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="flex flex-col items-end">
|
<div class="flex flex-col items-end">
|
||||||
<span class="text-white text-[1rem] font-semibold">
|
<span class=" text-[1rem] font-semibold">
|
||||||
{item?.turnover?.toFixed(2)}
|
{item?.turnover?.toFixed(2)}
|
||||||
</span>
|
</span>
|
||||||
<span class="text-white text-sm">Turnover</span>
|
<span class=" text-sm">Turnover</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -206,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-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{abbreviateNumber(
|
>+{abbreviateNumber(
|
||||||
item?.performancePercentage3Year?.toFixed(
|
item?.performancePercentage3Year?.toFixed(
|
||||||
2,
|
2,
|
||||||
@ -223,9 +222,7 @@
|
|||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<span class="text-white text-sm"
|
<span class=" text-sm">3-Year Performance</span>
|
||||||
>3-Year Performance</span
|
|
||||||
>
|
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="flex flex-col items-end">
|
<div class="flex flex-col items-end">
|
||||||
@ -233,7 +230,7 @@
|
|||||||
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-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{abbreviateNumber(
|
>+{abbreviateNumber(
|
||||||
item?.winRate?.toFixed(2),
|
item?.winRate?.toFixed(2),
|
||||||
)}%</span
|
)}%</span
|
||||||
@ -246,7 +243,7 @@
|
|||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<span class="text-white text-sm">Win Rate</span>
|
<span class=" text-sm">Win Rate</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -54,10 +54,18 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li>
|
||||||
<li><a href="/hedge-funds" class="text-gray-300">Hedge Fund</a></li>
|
<a href="/" class="text-muted dark:text-gray-300">Home</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/hedge-funds" class="text-muted dark:text-gray-300"
|
||||||
|
>Hedge Fund</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="text-gray-300">{formatString(companyName)}</li>
|
<li class="text-muted dark:text-gray-300">
|
||||||
|
{formatString(companyName)}
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -84,51 +92,59 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-0 pt-0.5 text-left">
|
<div class="mt-0 pt-0.5 text-left">
|
||||||
<h1 class="mb-0 text-2xl font-bold text-white">
|
<h1 class="mb-0 text-2xl font-bold">
|
||||||
{formatString(companyName)}
|
{formatString(companyName)}
|
||||||
</h1>
|
</h1>
|
||||||
<p class="mb-0.5 text-sm font-semibold text-gray-300">
|
<p
|
||||||
|
class="mb-0.5 text-sm font-semibold text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
CIK Number: {data?.getHedgeFundsData?.cik}
|
CIK Number: {data?.getHedgeFundsData?.cik}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-4 grid grid-cols-2 overflow-hidden rounded border border-gray-600 py-2 text-center md:grid-cols-5 md:p-0 lg:mt-0 lg:border-none"
|
class="mt-4 grid grid-cols-2 overflow-hidden rounded border border-gray-300 dark:border-gray-600 py-2 text-center md:grid-cols-5 md:p-0 lg:mt-0 lg:border-none"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col px-4 py-2 bp:px-6 md:py-6">
|
<div class="flex flex-col px-4 py-2 bp:px-6 md:py-6">
|
||||||
<div class="text-2xl font-bold tracking-tight text-white">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
{abbreviateNumber(hedgeFundStats?.marketValue)}
|
{abbreviateNumber(hedgeFundStats?.marketValue)}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm font-semibold leading-6 text-gray-300">
|
<div
|
||||||
|
class="text-sm font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
Market Value
|
Market Value
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-semibold tracking-tight text-white">
|
<div class="text-2xl font-semibold tracking-tight">
|
||||||
{data?.getHedgeFundsData?.holdings?.length?.toLocaleString(
|
{data?.getHedgeFundsData?.holdings?.length?.toLocaleString(
|
||||||
"en-US",
|
"en-US",
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm font-semibold leading-6 text-gray-300">
|
<div
|
||||||
|
class="text-sm font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
# of Holdings
|
# of Holdings
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-bold tracking-tight text-white">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
{hedgeFundStats?.averageHoldingPeriod} months
|
{hedgeFundStats?.averageHoldingPeriod} months
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm font-semibold leading-6 text-gray-300">
|
<div
|
||||||
|
class="text-sm font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
Avg. Holding Period
|
Avg. Holding Period
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-bold tracking-tight">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
<span
|
<span
|
||||||
@ -138,14 +154,16 @@
|
|||||||
>{hedgeFundStats?.winRate?.toFixed(2)}%</span
|
>{hedgeFundStats?.winRate?.toFixed(2)}%</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm font-semibold leading-6 text-gray-300">
|
<div
|
||||||
|
class="text-sm font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
Win Rate
|
Win Rate
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-600 md:py-6"
|
class="flex flex-col px-4 py-2 bp:px-6 sm:border-l sm:border-gray-300 dark:sm:border-gray-600 md:py-6"
|
||||||
>
|
>
|
||||||
<div class="text-2xl font-bold tracking-tight text-white">
|
<div class="text-2xl font-bold tracking-tight">
|
||||||
<span
|
<span
|
||||||
class={hedgeFundStats?.performancePercentage3Year >= 0
|
class={hedgeFundStats?.performancePercentage3Year >= 0
|
||||||
? "before:content-['+'] text-[#36D984]"
|
? "before:content-['+'] text-[#36D984]"
|
||||||
@ -155,16 +173,18 @@
|
|||||||
)}%</span
|
)}%</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm font-semibold leading-6 text-gray-300">
|
<div
|
||||||
|
class="text-sm font-semibold leading-6 text-muted dark:text-gray-300"
|
||||||
|
>
|
||||||
Peformance 3-Years
|
Peformance 3-Years
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-10 mt-10 text-white">
|
<div class="mb-10 mt-10">
|
||||||
<div
|
<div
|
||||||
class="relative my-3 space-y-2 rounded border border-gray-600 sm:my-6 p-4"
|
class="relative my-3 space-y-2 rounded border border-gray-300 dark:border-gray-600 sm:my-6 p-4"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col sm:flex-row">
|
<div class="flex flex-col sm:flex-row">
|
||||||
<div class="mb-2 font-semibold sm:mb-0">Main Sectors:</div>
|
<div class="mb-2 font-semibold sm:mb-0">Main Sectors:</div>
|
||||||
@ -174,7 +194,7 @@
|
|||||||
href={sectorNavigation?.find(
|
href={sectorNavigation?.find(
|
||||||
(listItem) => listItem?.title === item,
|
(listItem) => listItem?.title === item,
|
||||||
)?.link}
|
)?.link}
|
||||||
class="px-3 text-sm py-1 sm:text-[1rem] rounded-md bg-white/10 sm:hover:bg-white/20 ml-0"
|
class="inline-block badge bg-blue-50 dark:bg-primary duration-0 rounded-sm ml-1 px-3 m-auto text-blue-600 dark:text-blue-400 dark:sm:hover:text-white sm:hover:text-muted text-[1rem]"
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</a>
|
</a>
|
||||||
@ -189,7 +209,7 @@
|
|||||||
{#each data?.getHedgeFundsData?.mainIndustries as item}
|
{#each data?.getHedgeFundsData?.mainIndustries as item}
|
||||||
<a
|
<a
|
||||||
href={`/list/industry/${item?.replace(/ /g, "-")?.replace(/&/g, "and")?.replace(/-{2,}/g, "-")?.toLowerCase()}`}
|
href={`/list/industry/${item?.replace(/ /g, "-")?.replace(/&/g, "and")?.replace(/-{2,}/g, "-")?.toLowerCase()}`}
|
||||||
class="px-3 text-sm py-1 sm:text-[1rem] rounded-md bg-white/10 sm:hover:bg-white/20 ml-0"
|
class="inline-block badge bg-blue-50 dark:bg-primary duration-0 rounded-sm ml-1 px-3 m-auto text-blue-600 dark:text-blue-400 dark:sm:hover:text-white sm:hover:text-muted text-[1rem]"
|
||||||
>
|
>
|
||||||
{item}
|
{item}
|
||||||
</a>
|
</a>
|
||||||
@ -199,7 +219,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="w-full m-auto mt-10">
|
<div class="w-full m-auto mt-4">
|
||||||
<Table
|
<Table
|
||||||
{data}
|
{data}
|
||||||
rawData={["Pro", "Plus"]?.includes(data?.user?.tier)
|
rawData={["Pro", "Plus"]?.includes(data?.user?.tier)
|
||||||
|
|||||||
@ -756,7 +756,7 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class={displayLegend?.change >= 0
|
class={displayLegend?.change >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}
|
: "text-[#FF2F1F]"}
|
||||||
>
|
>
|
||||||
{displayLegend?.change}
|
{displayLegend?.change}
|
||||||
@ -798,9 +798,9 @@
|
|||||||
{prePostData?.price?.toFixed(2)}
|
{prePostData?.price?.toFixed(2)}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1.5 block text-sm xs:text-base 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-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
>
|
>
|
||||||
{prePostData?.changesPercentage?.toFixed(
|
{prePostData?.changesPercentage?.toFixed(
|
||||||
|
|||||||
@ -747,7 +747,7 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class={displayLegend?.graphChange >= 0
|
class={displayLegend?.graphChange >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}
|
: "text-[#FF2F1F]"}
|
||||||
>
|
>
|
||||||
{displayLegend?.graphChange ??
|
{displayLegend?.graphChange ??
|
||||||
|
|||||||
@ -419,7 +419,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each ["Pro"]?.includes(data?.user?.tier) ? optionList : optionList?.slice(0, 3) as item, index}
|
{#each ["Pro"]?.includes(data?.user?.tier) ? optionList : optionList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
optionList?.slice(0, 3)?.length &&
|
optionList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -432,7 +432,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentage >= 1000
|
>+{item?.changesPercentage >= 1000
|
||||||
? abbreviateNumberWithColor(
|
? abbreviateNumberWithColor(
|
||||||
item?.changesPercentage,
|
item?.changesPercentage,
|
||||||
@ -560,7 +560,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changeOI >= 0}
|
{#if item?.changeOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -574,7 +574,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentageOI >= 0}
|
{#if item?.changesPercentageOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentageOI >= 1000
|
>+{item?.changesPercentageOI >= 1000
|
||||||
? abbreviateNumberWithColor(
|
? abbreviateNumberWithColor(
|
||||||
item?.changesPercentageOI,
|
item?.changesPercentageOI,
|
||||||
|
|||||||
@ -37,8 +37,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li><span class="text-gray-300">Industry</span></li>
|
<li><span class="text-muted dark:text-gray-300">Industry</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -112,7 +112,7 @@
|
|||||||
{#each displayList as item}
|
{#each displayList as item}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800"
|
||||||
>
|
>
|
||||||
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
||||||
<a
|
<a
|
||||||
@ -151,7 +151,7 @@
|
|||||||
|
|
||||||
<td
|
<td
|
||||||
class=" {item?.profitMargin >= 0
|
class=" {item?.profitMargin >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
: 'text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(item?.profitMargin)}%
|
{abbreviateNumber(item?.profitMargin)}%
|
||||||
|
|||||||
@ -111,7 +111,7 @@
|
|||||||
{#each displayList as item}
|
{#each displayList as item}
|
||||||
<!-- row -->
|
<!-- row -->
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800"
|
||||||
>
|
>
|
||||||
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
<td class=" text-sm sm:text-[1rem] whitespace-nowrap">
|
||||||
<a
|
<a
|
||||||
@ -152,7 +152,7 @@
|
|||||||
|
|
||||||
<td
|
<td
|
||||||
class=" {item?.profitMargin >= 0
|
class=" {item?.profitMargin >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: 'text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
: 'text-[#FF2F1F]'} text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(item?.profitMargin)}%
|
{abbreviateNumber(item?.profitMargin)}%
|
||||||
|
|||||||
@ -6,6 +6,8 @@
|
|||||||
import TableHeader from "$lib/components/Table/TableHeader.svelte";
|
import TableHeader from "$lib/components/Table/TableHeader.svelte";
|
||||||
import HoverStockChart from "$lib/components/HoverStockChart.svelte";
|
import HoverStockChart from "$lib/components/HoverStockChart.svelte";
|
||||||
import RatingsChart from "$lib/components/RatingsChart.svelte";
|
import RatingsChart from "$lib/components/RatingsChart.svelte";
|
||||||
|
import Infobox from "$lib/components/Infobox.svelte";
|
||||||
|
|
||||||
import SEO from "$lib/components/SEO.svelte";
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
@ -169,8 +171,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Insider Tracker</li>
|
<li class="text-muted dark:text-gray-300">Insider Tracker</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -181,46 +183,22 @@
|
|||||||
>
|
>
|
||||||
<main class="w-full">
|
<main class="w-full">
|
||||||
<div class="mb-6 border-b-[2px]">
|
<div class="mb-6 border-b-[2px]">
|
||||||
<h1 class="mb-1 text-white text-2xl sm:text-3xl font-bold">
|
<h1 class="mb-1 text-2xl sm:text-3xl font-bold">Insider Tracker</h1>
|
||||||
Insider Tracker
|
|
||||||
</h1>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if isLoaded}
|
{#if isLoaded}
|
||||||
<div class="mt-8 sm:px-0">
|
<Infobox
|
||||||
<div
|
text="We update our data in real time to bring you the latest
|
||||||
class="border-l-4 border-white p-0 sm:p-4 text-white flex flex-row items-center"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
class="h-6 w-6 hidden sm:block"
|
|
||||||
viewBox="0 0 20 20"
|
|
||||||
fill="currentColor"
|
|
||||||
style="max-width:40px"
|
|
||||||
aria-hidden="true"
|
|
||||||
><path
|
|
||||||
fill-rule="evenodd"
|
|
||||||
d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"
|
|
||||||
clip-rule="evenodd"
|
|
||||||
></path></svg
|
|
||||||
>
|
|
||||||
<div class="ml-3 w-full">
|
|
||||||
<div class="flex w-full flex-row justify-between">
|
|
||||||
<div>
|
|
||||||
We update our data in real time to bring you the latest
|
|
||||||
insights on unusual insider trading, sourced from SEC
|
insights on unusual insider trading, sourced from SEC
|
||||||
filings with a minimum transaction value of $100,000.
|
filings with a minimum transaction value of $100,000."
|
||||||
</div>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="w-full m-auto mt-20 sm:mt-10">
|
<div class="w-full m-auto mt-20 sm:mt-10">
|
||||||
<div
|
<div
|
||||||
class="w-full m-auto rounded-none sm:rounded-md mb-4 overflow-x-auto sm:overflow-hidden"
|
class="w-full m-auto rounded-none sm:rounded-md mb-4 overflow-x-auto sm:overflow-hidden"
|
||||||
>
|
>
|
||||||
<table
|
<table
|
||||||
class="table table-sm table-compact rounded-none sm:rounded-md w-full bg-table border border-gray-800 m-auto"
|
class="table table-sm table-compact no-scrollbar rounded-none sm:rounded-md w-full bg-white dark:bg-table border border-gray-300 dark:border-gray-800 m-auto"
|
||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<TableHeader {columns} {sortOrders} {sortData} />
|
<TableHeader {columns} {sortOrders} {sortData} />
|
||||||
@ -228,7 +206,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each stockList as item, index}
|
{#each stockList as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-odd{index +
|
||||||
1 ===
|
1 ===
|
||||||
stockList?.length &&
|
stockList?.length &&
|
||||||
!['Pro', 'Plus']?.includes(data?.user?.tier)
|
!['Pro', 'Plus']?.includes(data?.user?.tier)
|
||||||
@ -245,7 +223,7 @@
|
|||||||
? 'rotate-180'
|
? 'rotate-180'
|
||||||
: ''}"
|
: ''}"
|
||||||
viewBox="0 0 20 20"
|
viewBox="0 0 20 20"
|
||||||
fill="white"
|
fill="currentColor"
|
||||||
style="max-width:40px"
|
style="max-width:40px"
|
||||||
><path
|
><path
|
||||||
fill-rule="evenodd"
|
fill-rule="evenodd"
|
||||||
@ -260,7 +238,7 @@
|
|||||||
<HoverStockChart symbol={item?.symbol} />
|
<HoverStockChart symbol={item?.symbol} />
|
||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
class="whitespace-nowrap text-white text-sm sm:text-[1rem] text-white text-start"
|
class="whitespace-nowrap text-sm sm:text-[1rem] text-start"
|
||||||
>
|
>
|
||||||
{item?.name?.length > charNumber
|
{item?.name?.length > charNumber
|
||||||
? item?.name?.slice(0, charNumber) + "..."
|
? item?.name?.slice(0, charNumber) + "..."
|
||||||
@ -268,7 +246,7 @@
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="whitespace-nowrap text-white text-sm sm:text-[1rem] text-white text-start"
|
class="whitespace-nowrap text-sm sm:text-[1rem] text-start"
|
||||||
>
|
>
|
||||||
{item?.reportingName?.length > charNumber
|
{item?.reportingName?.length > charNumber
|
||||||
? item?.reportingName?.slice(0, charNumber) + "..."
|
? item?.reportingName?.slice(0, charNumber) + "..."
|
||||||
@ -276,13 +254,13 @@
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-sm sm:text-[1rem] text-white whitespace-nowrap"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(item?.marketCap)}
|
{abbreviateNumber(item?.marketCap)}
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{item?.price}
|
{item?.price}
|
||||||
</td>
|
</td>
|
||||||
@ -290,7 +268,7 @@
|
|||||||
<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-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: 'text-[#FF2F1F]'}"
|
: 'text-[#FF2F1F]'}"
|
||||||
>
|
>
|
||||||
{item?.changesPercentage > 0
|
{item?.changesPercentage > 0
|
||||||
@ -299,7 +277,7 @@
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td
|
<td
|
||||||
class="text-end text-sm sm:text-[1rem] text-white whitespace-nowrap"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(item?.totalShares)}
|
{abbreviateNumber(item?.totalShares)}
|
||||||
</td>
|
</td>
|
||||||
@ -307,7 +285,7 @@
|
|||||||
<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-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: item?.transactionType === 'Sell'
|
: item?.transactionType === 'Sell'
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-[#E57C34]'}"
|
: 'text-[#E57C34]'}"
|
||||||
@ -325,7 +303,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{#if checkedSymbol === item?.symbol}
|
{#if checkedSymbol === item?.symbol}
|
||||||
<tr class="bg-default"
|
<tr class=""
|
||||||
><td colspan="9" class="px-0" style=""
|
><td colspan="9" class="px-0" style=""
|
||||||
><div class="-mt-0.5 px-0 pb-2">
|
><div class="-mt-0.5 px-0 pb-2">
|
||||||
<div class="relative h-[400px]">
|
<div class="relative h-[400px]">
|
||||||
|
|||||||
@ -56,8 +56,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">IPO Data</li>
|
<li class="text-muted dark:text-gray-300">IPO Data</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{item?.timestamp}
|
{item?.timestamp}
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.link}
|
href={item?.link}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -91,7 +91,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each ipoList as item}
|
{#each ipoList as item}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b-[#09090B]"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b-[#09090B]"
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-start border-b-[#09090B] whitespace-nowrap"
|
class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-start border-b-[#09090B] whitespace-nowrap"
|
||||||
@ -109,7 +109,7 @@
|
|||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href={"/stocks/" + item?.symbol}
|
href={"/stocks/" + item?.symbol}
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
>
|
>
|
||||||
{item?.symbol}
|
{item?.symbol}
|
||||||
</a>
|
</a>
|
||||||
@ -188,7 +188,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{item?.timestamp}
|
{item?.timestamp}
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.link}
|
href={item?.link}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -194,7 +194,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{formatDate(item?.publishedDate)} ago -
|
{formatDate(item?.publishedDate)} ago -
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.url}
|
href={item?.url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -84,7 +84,7 @@
|
|||||||
<h4 class="text-xl font-semibold sm:text-2xl sm:font-bold">
|
<h4 class="text-xl font-semibold sm:text-2xl sm:font-bold">
|
||||||
Stay informed in just 2 minutes
|
Stay informed in just 2 minutes
|
||||||
</h4>
|
</h4>
|
||||||
<p class="text-base text-white lg:text-lg">
|
<p class=" text-white lg:text-lg">
|
||||||
Get a daily email with the top market-moving news in bullet
|
Get a daily email with the top market-moving news in bullet
|
||||||
point format, for Pro Members only.
|
point format, for Pro Members only.
|
||||||
</p>
|
</p>
|
||||||
@ -105,7 +105,7 @@
|
|||||||
>
|
>
|
||||||
<div class="space-y-3 p-6">
|
<div class="space-y-3 p-6">
|
||||||
<h4 class="text-xl font-semibold">Watchlist</h4>
|
<h4 class="text-xl font-semibold">Watchlist</h4>
|
||||||
<p class="text-base text-white lg:text-lg">
|
<p class=" text-white lg:text-lg">
|
||||||
Build your watchlist to keep track of their performance
|
Build your watchlist to keep track of their performance
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
>
|
>
|
||||||
<div class="space-y-3 p-6">
|
<div class="space-y-3 p-6">
|
||||||
<h4 class="text-xl font-semibold">Top Stocks</h4>
|
<h4 class="text-xl font-semibold">Top Stocks</h4>
|
||||||
<p class="text-base text-white lg:text-lg">
|
<p class=" text-white lg:text-lg">
|
||||||
Get the latest Top Wall Street Analyst Ratings
|
Get the latest Top Wall Street Analyst Ratings
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -263,7 +263,7 @@
|
|||||||
Category of Stocks Ranked by Market Cap
|
Category of Stocks Ranked by Market Cap
|
||||||
</h2>
|
</h2>
|
||||||
<ul
|
<ul
|
||||||
class="list-outside list-disc space-y-1 p-1 pl-6 text-base md:columns-2 md:gap-x-8 md:text-lg"
|
class="list-outside list-disc space-y-1 p-1 pl-6 md:columns-2 md:gap-x-8 md:text-lg"
|
||||||
>
|
>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
|
|||||||
@ -39,8 +39,8 @@
|
|||||||
<!--
|
<!--
|
||||||
<div class="text-sm breadcrumbs ml-4">
|
<div class="text-sm breadcrumbs ml-4">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Markdown Guide</li>
|
<li class="text-muted dark:text-gray-300">Markdown Guide</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|||||||
@ -838,8 +838,8 @@
|
|||||||
<!--
|
<!--
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs mb-5">
|
<div class="text-sm sm:text-[1rem] breadcrumbs mb-5">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Options Flow</li>
|
<li class="text-muted dark:text-gray-300">Options Flow</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
@ -1045,7 +1045,7 @@
|
|||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
for="ruleModal"
|
for="ruleModal"
|
||||||
class="inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-gray-300 dark:border-none py-2 pl-3 pr-4 text-base font-semibold shadow-sm bg-white sm:hover:bg-gray-100 dark:bg-[#000] dark:sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500"
|
class="inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-gray-300 dark:border-none py-2 pl-3 pr-4 font-semibold shadow-sm bg-white sm:hover:bg-gray-100 dark:bg-[#000] dark:sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-5 w-5"
|
class="h-5 w-5"
|
||||||
@ -1066,7 +1066,7 @@
|
|||||||
{#if ruleOfList?.length !== 0}
|
{#if ruleOfList?.length !== 0}
|
||||||
<label
|
<label
|
||||||
on:click={handleResetAll}
|
on:click={handleResetAll}
|
||||||
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold shadow-xs bg-[#000] sm:hover:text-red-500 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500"
|
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold shadow-xs bg-[#000] sm:hover:text-red-500 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-4 w-4"
|
class="h-4 w-4"
|
||||||
|
|||||||
@ -152,8 +152,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Politicians</li>
|
<li class="text-muted dark:text-gray-300">Politicians</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -113,12 +113,13 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/politicians" class="text-gray-300">Congress</a>
|
<a href="/politicians" class="text-muted dark:text-gray-300">Congress</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="text-gray-300">{name}</li>
|
<li class="text-muted dark:text-gray-300">{name}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -318,7 +319,7 @@
|
|||||||
<tbody class="p-0">
|
<tbody class="p-0">
|
||||||
{#each tableData as item}
|
{#each tableData as item}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b-[#27272A] text-white"
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b-[#27272A] text-white"
|
||||||
>
|
>
|
||||||
<td class="hidden lg:table-cell"
|
<td class="hidden lg:table-cell"
|
||||||
><button
|
><button
|
||||||
@ -363,7 +364,9 @@
|
|||||||
>
|
>
|
||||||
<span class="">
|
<span class="">
|
||||||
{#if item?.type === "Bought"}
|
{#if item?.type === "Bought"}
|
||||||
<span class="text-[#00FC50]">{item?.type}</span>
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
|
>{item?.type}</span
|
||||||
|
>
|
||||||
{:else if item?.type === "Sold"}
|
{:else if item?.type === "Sold"}
|
||||||
<span class="text-[#FF2F1F]">{item?.type}</span>
|
<span class="text-[#FF2F1F]">{item?.type}</span>
|
||||||
{:else if item?.type === "Exchange"}
|
{:else if item?.type === "Exchange"}
|
||||||
|
|||||||
@ -71,8 +71,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Congress Flow</li>
|
<li class="text-muted dark:text-gray-300">Congress Flow</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -169,7 +169,7 @@
|
|||||||
<div class="flex flex-col ml-3 font-normal">
|
<div class="flex flex-col ml-3 font-normal">
|
||||||
<a
|
<a
|
||||||
href={`/politicians/${item?.id}`}
|
href={`/politicians/${item?.id}`}
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
>{getAbbreviatedName(
|
>{getAbbreviatedName(
|
||||||
item?.representative?.replace(
|
item?.representative?.replace(
|
||||||
"_",
|
"_",
|
||||||
@ -235,7 +235,10 @@
|
|||||||
class="text-sm sm:text-[1rem] text-end text-white"
|
class="text-sm sm:text-[1rem] text-end text-white"
|
||||||
>
|
>
|
||||||
{#if item?.type === "Bought"}
|
{#if item?.type === "Bought"}
|
||||||
<span class="text-[#00FC50]">Bought</span>
|
<span
|
||||||
|
class="text-green-600 dark:text-[#00FC50]"
|
||||||
|
>Bought</span
|
||||||
|
>
|
||||||
{:else if item?.type === "Sold"}
|
{:else if item?.type === "Sold"}
|
||||||
<span class="text-[#FF2F1F]">Sold</span>
|
<span class="text-[#FF2F1F]">Sold</span>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@ -200,9 +200,7 @@
|
|||||||
<h1 class="mb-1 text-2xl sm:text-3xl font-bold">My Account</h1>
|
<h1 class="mb-1 text-2xl sm:text-3xl font-bold">My Account</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div class="rounded border border-gray-600 p-4 xs:p-4 xs:text-lg">
|
||||||
class="rounded border border-gray-600 p-4 text-base xs:p-4 xs:text-lg"
|
|
||||||
>
|
|
||||||
<h2 class=" text-2xl font-semibold mb-3">User Information</h2>
|
<h2 class=" text-2xl font-semibold mb-3">User Information</h2>
|
||||||
<div class="mt-1">
|
<div class="mt-1">
|
||||||
<strong>Email:</strong>
|
<strong>Email:</strong>
|
||||||
@ -224,7 +222,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="mt-6 rounded border border-gray-600 p-4 text-base xs:p-4 xs:text-lg"
|
class="mt-6 rounded border border-gray-600 p-4 xs:p-4 xs:text-lg"
|
||||||
>
|
>
|
||||||
<h2 class=" text-2xl font-semibold mb-3">Notification</h2>
|
<h2 class=" text-2xl font-semibold mb-3">Notification</h2>
|
||||||
Customize your notification alerts based on your preferences.
|
Customize your notification alerts based on your preferences.
|
||||||
@ -380,7 +378,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="mt-6 rounded border border-gray-600 p-4 text-base xs:p-4 xs:text-lg"
|
class="mt-6 rounded border border-gray-600 p-4 xs:p-4 xs:text-lg"
|
||||||
>
|
>
|
||||||
<h2 class=" text-2xl font-semibold mb-3">Manage Subscription</h2>
|
<h2 class=" text-2xl font-semibold mb-3">Manage Subscription</h2>
|
||||||
<div class="flex flex-row items-center">
|
<div class="flex flex-row items-center">
|
||||||
@ -487,7 +485,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="mt-6 rounded border border-gray-600 p-4 text-base xs:p-4 xs:text-lg"
|
class="mt-6 rounded border border-gray-600 p-4 xs:p-4 xs:text-lg"
|
||||||
>
|
>
|
||||||
<h2 class=" text-2xl font-semibold mb-3">Need help?</h2>
|
<h2 class=" text-2xl font-semibold mb-3">Need help?</h2>
|
||||||
<div class="mt-1">
|
<div class="mt-1">
|
||||||
|
|||||||
@ -67,8 +67,8 @@
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li class="text-gray-300">Sentiment Tracker</li>
|
<li class="text-muted dark:text-gray-300">Sentiment Tracker</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -2538,8 +2538,8 @@ const handleKeyDown = (event) => {
|
|||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/" class="text-gray-300">Home</a></li>
|
<li><a href="/" class="text-muted dark:text-gray-300">Home</a></li>
|
||||||
<li><span class="text-gray-300">Stock Screener</span></li>
|
<li><span class="text-muted dark:text-gray-300">Stock Screener</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -2683,7 +2683,7 @@ const handleKeyDown = (event) => {
|
|||||||
<Button
|
<Button
|
||||||
on:click={handleCreateStrategy}
|
on:click={handleCreateStrategy}
|
||||||
builders={[builder]}
|
builders={[builder]}
|
||||||
class="p-0 -mb-2 -mt-2 text-sm inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap text-base text-white bg-[#0909B] focus:outline-hidden sm:text-smaller"
|
class="p-0 -mb-2 -mt-2 text-sm inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap text-white bg-[#0909B] focus:outline-hidden sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-4 w-4"
|
class="h-4 w-4"
|
||||||
@ -2752,7 +2752,7 @@ const handleKeyDown = (event) => {
|
|||||||
<div class="mt-3 flex flex-col gap-y-2.5 sm:flex-row lg:gap-y-2">
|
<div class="mt-3 flex flex-col gap-y-2.5 sm:flex-row lg:gap-y-2">
|
||||||
<label
|
<label
|
||||||
for="ruleModal"
|
for="ruleModal"
|
||||||
class="inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
class="inline-flex cursor-pointer items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-5 w-5"
|
class="h-5 w-5"
|
||||||
@ -2774,7 +2774,7 @@ const handleKeyDown = (event) => {
|
|||||||
<label
|
<label
|
||||||
for={!data?.user ? "userLogin" : ""}
|
for={!data?.user ? "userLogin" : ""}
|
||||||
on:click={() => handleSave(true)}
|
on:click={() => handleSave(true)}
|
||||||
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-5 w-5"
|
class="h-5 w-5"
|
||||||
@ -2790,7 +2790,7 @@ const handleKeyDown = (event) => {
|
|||||||
|
|
||||||
<label
|
<label
|
||||||
for="deleteStrategy"
|
for="deleteStrategy"
|
||||||
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out sm:hover:text-red-500 focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold text-white shadow-xs bg-[#000] sm:hover:bg-default/60 ease-out sm:hover:text-red-500 focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-5 w-5"
|
class="h-5 w-5"
|
||||||
@ -2808,7 +2808,7 @@ const handleKeyDown = (event) => {
|
|||||||
{#if ruleOfList?.length !== 0}
|
{#if ruleOfList?.length !== 0}
|
||||||
<label
|
<label
|
||||||
on:click={handleResetAll}
|
on:click={handleResetAll}
|
||||||
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 text-base font-semibold text-white shadow-xs bg-[#000] sm:hover:text-red-500 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
class="sm:ml-3 cursor-pointer inline-flex items-center justify-center space-x-1 whitespace-nowrap rounded-md border border-transparent bg-blue-brand_light py-2 pl-3 pr-4 font-semibold text-white shadow-xs bg-[#000] sm:hover:text-red-500 ease-out focus:outline-hidden focus:ring-2 focus:ring-blue-500 sm:text-smaller"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-4 w-4"
|
class="h-4 w-4"
|
||||||
@ -3262,7 +3262,7 @@ const handleKeyDown = (event) => {
|
|||||||
>
|
>
|
||||||
<nav class="w-full flex flex-row items-center py-2.5 sm:py-3 lg:py-1">
|
<nav class="w-full flex flex-row items-center py-2.5 sm:py-3 lg:py-1">
|
||||||
<ul
|
<ul
|
||||||
class="flex flex-row overflow-x-auto items-center space-x-2 whitespace-nowrap text-base"
|
class="flex flex-row overflow-x-auto items-center space-x-2 whitespace-nowrap"
|
||||||
>
|
>
|
||||||
<li>
|
<li>
|
||||||
<button
|
<button
|
||||||
@ -3371,7 +3371,7 @@ const handleKeyDown = (event) => {
|
|||||||
|
|
||||||
<td class="text-white text-end text-sm sm:text-[1rem]">
|
<td class="text-white text-end text-sm sm:text-[1rem]">
|
||||||
{#if item?.changesPercentage >= 0}
|
{#if item?.changesPercentage >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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
|
||||||
@ -3478,7 +3478,7 @@ 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-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{abbreviateNumber(
|
>+{abbreviateNumber(
|
||||||
item[row?.rule]?.toFixed(2),
|
item[row?.rule]?.toFixed(2),
|
||||||
)}%</span
|
)}%</span
|
||||||
@ -3537,7 +3537,7 @@ 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-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -3549,7 +3549,9 @@ 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-[#00FC50]">{item[row?.rule]}</span>
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
|
>{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-[#FF2F1F]">{item[row?.rule]}</span>
|
<span class="text-[#FF2F1F]">{item[row?.rule]}</span>
|
||||||
{:else if item[row?.rule] === "Hold"}
|
{:else if item[row?.rule] === "Hold"}
|
||||||
|
|||||||
@ -756,7 +756,7 @@
|
|||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class={displayLegend?.graphChange >= 0
|
class={displayLegend?.graphChange >= 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}
|
: "text-[#FF2F1F]"}
|
||||||
>
|
>
|
||||||
{displayLegend?.graphChange ??
|
{displayLegend?.graphChange ??
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{formatDate(item?.publishedDate)} ·
|
{formatDate(item?.publishedDate)} ·
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.url}
|
href={item?.url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -817,7 +817,7 @@
|
|||||||
class="hide-scroll mb-1 mt-2 overflow-x-auto px-1.5 text-center md:mb-0 md:px-0 lg:mt-2"
|
class="hide-scroll mb-1 mt-2 overflow-x-auto px-1.5 text-center md:mb-0 md:px-0 lg:mt-2"
|
||||||
>
|
>
|
||||||
<table
|
<table
|
||||||
class="w-full text-right text-tiny text-white xs:text-sm sm:text-base"
|
class="w-full text-right text-tiny text-white xs:text-sm sm:"
|
||||||
>
|
>
|
||||||
<thead
|
<thead
|
||||||
><tr
|
><tr
|
||||||
@ -842,22 +842,22 @@
|
|||||||
><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-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{lowChange}%</td
|
: "text-[#FF2F1F]"}>{lowChange}%</td
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class={avgChange > 0
|
class={avgChange > 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{avgChange}%</td
|
: "text-[#FF2F1F]"}>{avgChange}%</td
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class={medianChange > 0
|
class={medianChange > 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{medianChange}%</td
|
: "text-[#FF2F1F]"}>{medianChange}%</td
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class={highChange > 0
|
class={highChange > 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{highChange}%</td
|
: "text-[#FF2F1F]"}>{highChange}%</td
|
||||||
></tr
|
></tr
|
||||||
></tbody
|
></tbody
|
||||||
@ -1008,9 +1008,7 @@
|
|||||||
<div
|
<div
|
||||||
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-b lg:border-b-0 border-gray-600"
|
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-b lg:border-b-0 border-gray-600"
|
||||||
>
|
>
|
||||||
<div class="text-base font-normal text-white">
|
<div class=" font-normal text-white">Revenue This Year</div>
|
||||||
Revenue This Year
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
||||||
>
|
>
|
||||||
@ -1080,9 +1078,7 @@
|
|||||||
<div
|
<div
|
||||||
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-b md:border-l lg:border-b-0"
|
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-b md:border-l lg:border-b-0"
|
||||||
>
|
>
|
||||||
<div class="text-base font-normal text-white">
|
<div class=" font-normal text-white">Revenue Next Year</div>
|
||||||
Revenue Next Year
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
||||||
>
|
>
|
||||||
@ -1148,9 +1144,7 @@
|
|||||||
<div
|
<div
|
||||||
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-b-0 lg:border-l"
|
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-b-0 lg:border-l"
|
||||||
>
|
>
|
||||||
<div class="text-base font-normal text-white">
|
<div class=" font-normal text-white">EPS This Year</div>
|
||||||
EPS This Year
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
||||||
>
|
>
|
||||||
@ -1201,9 +1195,7 @@
|
|||||||
<div
|
<div
|
||||||
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-l border-gray-600"
|
class="border-b px-3 py-5 last:border-b-0 xs:px-4 sm:p-6 md:border-l border-gray-600"
|
||||||
>
|
>
|
||||||
<div class="text-base font-normal text-white">
|
<div class=" font-normal text-white">EPS Next Year</div>
|
||||||
EPS Next Year
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
class="mt-1 flex flex-wrap items-baseline justify-between space-y-2 bp:space-y-0"
|
||||||
>
|
>
|
||||||
|
|||||||
@ -362,7 +362,7 @@
|
|||||||
class="font-bold {['Strong Buy', 'Buy']?.includes(
|
class="font-bold {['Strong Buy', 'Buy']?.includes(
|
||||||
consensusRating,
|
consensusRating,
|
||||||
)
|
)
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: ['Strong Sell', 'Sell']?.includes(consensusRating)
|
: ['Strong Sell', 'Sell']?.includes(consensusRating)
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-[#fff]'}">{consensusRating}</span
|
: 'text-[#fff]'}">{consensusRating}</span
|
||||||
@ -380,7 +380,7 @@
|
|||||||
class="hide-scroll mb-1 mt-2 overflow-x-auto px-1.5 text-center md:mb-0 md:px-0 lg:mt-2"
|
class="hide-scroll mb-1 mt-2 overflow-x-auto px-1.5 text-center md:mb-0 md:px-0 lg:mt-2"
|
||||||
>
|
>
|
||||||
<table
|
<table
|
||||||
class="w-full text-right text-tiny text-white xs:text-sm sm:text-base"
|
class="w-full text-right text-tiny text-white xs:text-sm sm:"
|
||||||
>
|
>
|
||||||
<thead
|
<thead
|
||||||
><tr
|
><tr
|
||||||
@ -405,22 +405,22 @@
|
|||||||
><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-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{lowChange}%</td
|
: "text-[#FF2F1F]"}>{lowChange}%</td
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class={avgChange > 0
|
class={avgChange > 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{avgChange}%</td
|
: "text-[#FF2F1F]"}>{avgChange}%</td
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class={medianChange > 0
|
class={medianChange > 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{medianChange}%</td
|
: "text-[#FF2F1F]"}>{medianChange}%</td
|
||||||
>
|
>
|
||||||
<td
|
<td
|
||||||
class={highChange > 0
|
class={highChange > 0
|
||||||
? "before:content-['+'] text-[#00FC50]"
|
? "before:content-['+'] text-green-500 dark:text-[#00FC50]"
|
||||||
: "text-[#FF2F1F]"}>{highChange}%</td
|
: "text-[#FF2F1F]"}>{highChange}%</td
|
||||||
></tr
|
></tr
|
||||||
></tbody
|
></tbody
|
||||||
|
|||||||
@ -387,7 +387,7 @@
|
|||||||
href={item?.analystId !== null
|
href={item?.analystId !== null
|
||||||
? `/analysts/${item?.analystId}`
|
? `/analysts/${item?.analystId}`
|
||||||
: "#"}
|
: "#"}
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
>{item?.analyst_name}
|
>{item?.analyst_name}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
@ -444,9 +444,9 @@
|
|||||||
class=" {['Strong Buy', 'Buy']?.includes(
|
class=" {['Strong Buy', 'Buy']?.includes(
|
||||||
item?.rating_current,
|
item?.rating_current,
|
||||||
)
|
)
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: item?.rating_current === 'Hold'
|
: item?.rating_current === 'Hold'
|
||||||
? 'text-[#FF7070]'
|
? '"text-red-600 dark:text-[#FF7070]"'
|
||||||
: ['Strong Sell', 'Sell']?.includes(
|
: ['Strong Sell', 'Sell']?.includes(
|
||||||
item?.rating_current,
|
item?.rating_current,
|
||||||
)
|
)
|
||||||
@ -558,9 +558,7 @@
|
|||||||
>
|
>
|
||||||
Analyst Star Rankings
|
Analyst Star Rankings
|
||||||
</h3>
|
</h3>
|
||||||
<p
|
<p class="mt-3 leading-8 text-muted dark:text-faded xl:text-lg">
|
||||||
class="mt-3 text-base leading-8 text-muted dark:text-faded xl:text-lg"
|
|
||||||
>
|
|
||||||
Our analyst star rankings are based on these four factors
|
Our analyst star rankings are based on these four factors
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -570,7 +568,7 @@
|
|||||||
>
|
>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
class=" font-semibold leading-4 text-white md:leading-7"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
@ -591,15 +589,13 @@
|
|||||||
</div>
|
</div>
|
||||||
Success Rate
|
Success Rate
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The percentage of ratings that are profitable.
|
The percentage of ratings that are profitable.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
class=" font-semibold leading-4 text-white md:leading-7"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
@ -620,16 +616,14 @@
|
|||||||
</div>
|
</div>
|
||||||
Average Return
|
Average Return
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The average percentage return within one year of the
|
The average percentage return within one year of the
|
||||||
rating.
|
rating.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
class=" font-semibold leading-4 text-white md:leading-7"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
@ -650,16 +644,14 @@
|
|||||||
</div>
|
</div>
|
||||||
Rating Count
|
Rating Count
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
The more ratings the analyst has provided, the higher the
|
The more ratings the analyst has provided, the higher the
|
||||||
score.
|
score.
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative pl-14">
|
<div class="relative pl-14">
|
||||||
<dt
|
<dt
|
||||||
class="text-base font-semibold leading-4 text-white md:leading-7"
|
class=" font-semibold leading-4 text-white md:leading-7"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
class="absolute left-0 top-0 flex h-10 w-10 items-center justify-center rounded-md bg-[#fff]"
|
||||||
@ -680,9 +672,7 @@
|
|||||||
</div>
|
</div>
|
||||||
Recency
|
Recency
|
||||||
</dt>
|
</dt>
|
||||||
<dd
|
<dd class="mt-2 leading-7 text-muted dark:text-faded">
|
||||||
class="mt-2 text-base leading-7 text-muted dark:text-faded"
|
|
||||||
>
|
|
||||||
Ratings provided within the past year contribute to a
|
Ratings provided within the past year contribute to a
|
||||||
higher score.
|
higher score.
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@ -143,7 +143,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{formatDate(item?.publishedDate)} ago -
|
{formatDate(item?.publishedDate)} ago -
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.url}
|
href={item?.url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -240,7 +240,7 @@
|
|||||||
r="16"
|
r="16"
|
||||||
fill="none"
|
fill="none"
|
||||||
class="stroke-current {buySellRatio >= 0.5
|
class="stroke-current {buySellRatio >= 0.5
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: 'text-[#EE5365]'} "
|
: 'text-[#EE5365]'} "
|
||||||
stroke-width="3"
|
stroke-width="3"
|
||||||
stroke-dasharray="100"
|
stroke-dasharray="100"
|
||||||
@ -366,7 +366,7 @@
|
|||||||
<div class="flex flex-col ml-3 font-normal">
|
<div class="flex flex-col ml-3 font-normal">
|
||||||
<a
|
<a
|
||||||
href={`/politicians/${item?.id}`}
|
href={`/politicians/${item?.id}`}
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
>{getAbbreviatedName(
|
>{getAbbreviatedName(
|
||||||
item?.representative?.replace("_", " "),
|
item?.representative?.replace("_", " "),
|
||||||
)}</a
|
)}</a
|
||||||
@ -405,7 +405,9 @@
|
|||||||
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
class="text-end text-sm sm:text-[1rem] whitespace-nowrap text-white"
|
||||||
>
|
>
|
||||||
{#if item?.type === "Bought"}
|
{#if item?.type === "Bought"}
|
||||||
<span class="text-[#00FC50]">Bought</span>
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
|
>Bought</span
|
||||||
|
>
|
||||||
{:else if item?.type === "Sold"}
|
{:else if item?.type === "Sold"}
|
||||||
<span class="text-[#FF2F1F]">Sold</span>
|
<span class="text-[#FF2F1F]">Sold</span>
|
||||||
{:else if item?.type === "Exchange"}
|
{:else if item?.type === "Exchange"}
|
||||||
|
|||||||
@ -12,7 +12,6 @@
|
|||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
import SEO from "$lib/components/SEO.svelte";
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
|
||||||
let chats = [];
|
let chats = [];
|
||||||
let date;
|
let date;
|
||||||
|
|
||||||
@ -78,15 +77,13 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<SEO
|
||||||
|
title={`${$displayCompanyName} (${$stockTicker}) Q${quarter} ${year} · Earnings Call Transcript · Stocknear`}
|
||||||
<SEO title={`${$displayCompanyName} (${$stockTicker}) Q${quarter} ${year} · Earnings Call Transcript · Stocknear`}
|
|
||||||
description={`Get the latest Earnings Call Transcript of ${$displayCompanyName} (${$stockTicker}) for different years and quarters.`}
|
description={`Get the latest Earnings Call Transcript of ${$displayCompanyName} (${$stockTicker}) for different years and quarters.`}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<section
|
<section
|
||||||
class="w-full bg-default overflow-hidden text-white min-h-screen mb-40 sm:mb-0"
|
class="w-full bg-default overflow-hidden text-white min-h-screen mb-40 sm:mb-0"
|
||||||
|
|
||||||
>
|
>
|
||||||
<div class="h-full overflow-hidden">
|
<div class="h-full overflow-hidden">
|
||||||
<div class="relative flex justify-center items-center overflow-hidden">
|
<div class="relative flex justify-center items-center overflow-hidden">
|
||||||
@ -217,7 +214,7 @@
|
|||||||
<div
|
<div
|
||||||
class="flex items-center space-x-2 rtl:space-x-reverse"
|
class="flex items-center space-x-2 rtl:space-x-reverse"
|
||||||
>
|
>
|
||||||
<span class="text-sm text-base">
|
<span class="text-sm">
|
||||||
{item?.name}
|
{item?.name}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -247,7 +244,7 @@
|
|||||||
<div class="flex flex-col items-start gap-2.5 mt-8">
|
<div class="flex flex-col items-start gap-2.5 mt-8">
|
||||||
<div class="flex flex-row items-center">
|
<div class="flex flex-row items-center">
|
||||||
<div
|
<div
|
||||||
class="avatar rounded-full w-8 h-8 sm:w-10 sm:h-10 relative bg-red-600 bg-opacity-[0.6] flex items-center justify-center text-white text-sm sm:text-base"
|
class="avatar rounded-full w-8 h-8 sm:w-10 sm:h-10 relative bg-red-600 bg-opacity-[0.6] flex items-center justify-center text-white text-sm sm:"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="absolute inset-0 flex items-center justify-center"
|
class="absolute inset-0 flex items-center justify-center"
|
||||||
@ -258,7 +255,7 @@
|
|||||||
<div
|
<div
|
||||||
class="ml-2 flex items-center space-x-2 rtl:space-x-reverse"
|
class="ml-2 flex items-center space-x-2 rtl:space-x-reverse"
|
||||||
>
|
>
|
||||||
<span class="text-sm text-base">
|
<span class="text-sm">
|
||||||
{item?.name}
|
{item?.name}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -281,9 +278,9 @@
|
|||||||
Back to top
|
Back to top
|
||||||
</label>
|
</label>
|
||||||
{:else}
|
{:else}
|
||||||
<Infobox
|
<Infobox
|
||||||
text={`No transcript available for ${$displayCompanyName} for the Q${displayQuarter} of ${displayYear}`}
|
text={`No transcript available for ${$displayCompanyName} for the Q${displayQuarter} of ${displayYear}`}
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
{:else}
|
{:else}
|
||||||
<div class="flex justify-center items-center h-80">
|
<div class="flex justify-center items-center h-80">
|
||||||
|
|||||||
@ -139,7 +139,7 @@
|
|||||||
{#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-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: growthValue < 0
|
: growthValue < 0
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-white'} border-b border-gray-800"
|
: 'text-white'} border-b border-gray-800"
|
||||||
@ -214,7 +214,7 @@
|
|||||||
<td
|
<td
|
||||||
class="text-sm sm:text-[1rem] text-center {growthValue >
|
class="text-sm sm:text-[1rem] text-center {growthValue >
|
||||||
0
|
0
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: growthValue < 0
|
: growthValue < 0
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-white'} border-b border-gray-800"
|
: 'text-white'} border-b border-gray-800"
|
||||||
@ -291,7 +291,7 @@
|
|||||||
<td
|
<td
|
||||||
class="text-sm sm:text-[1rem] text-center {growthValue >
|
class="text-sm sm:text-[1rem] text-center {growthValue >
|
||||||
0
|
0
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: growthValue < 0
|
: growthValue < 0
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-white'} border-b border-gray-800"
|
: 'text-white'} border-b border-gray-800"
|
||||||
|
|||||||
@ -276,7 +276,7 @@
|
|||||||
class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
class="text-white text-sm sm:text-[1rem] whitespace-nowrap text-end"
|
||||||
>
|
>
|
||||||
{#if item?.valueGrowth > 0}
|
{#if item?.valueGrowth > 0}
|
||||||
<span class="text-[#00FC50]">
|
<span class="text-green-600 dark:text-[#00FC50]">
|
||||||
+{item?.valueGrowth?.toFixed(2)}%
|
+{item?.valueGrowth?.toFixed(2)}%
|
||||||
</span>
|
</span>
|
||||||
{:else if item?.valueGrowth < 0}
|
{:else if item?.valueGrowth < 0}
|
||||||
|
|||||||
@ -411,7 +411,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{#each data?.user?.tier === "Pro" ? optionList : optionList?.slice(0, 3) as item, index}
|
{#each data?.user?.tier === "Pro" ? optionList : optionList?.slice(0, 3) as item, index}
|
||||||
<tr
|
<tr
|
||||||
class="sm:hover:bg-[#245073]/10 odd:bg-odd border-b border-gray-800 {index +
|
class="dark:sm:hover:bg-[#245073]/10 odd:bg-[#F6F7F8] dark:odd:bg-oddborder-b border-gray-800 {index +
|
||||||
1 ===
|
1 ===
|
||||||
optionList?.slice(0, 3)?.length &&
|
optionList?.slice(0, 3)?.length &&
|
||||||
!['Pro']?.includes(data?.user?.tier)
|
!['Pro']?.includes(data?.user?.tier)
|
||||||
@ -424,7 +424,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
{#if item?.changesPercentage >= 0 && item?.changesPercentage !== null}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentage >= 1000
|
>+{item?.changesPercentage >= 1000
|
||||||
? abbreviateNumberWithColor(
|
? abbreviateNumberWithColor(
|
||||||
item?.changesPercentage,
|
item?.changesPercentage,
|
||||||
@ -552,7 +552,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changeOI >= 0}
|
{#if item?.changeOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 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}
|
||||||
@ -566,7 +566,7 @@
|
|||||||
|
|
||||||
<td class="text-white text-sm sm:text-[1rem] text-end">
|
<td class="text-white text-sm sm:text-[1rem] text-end">
|
||||||
{#if item?.changesPercentageOI >= 0}
|
{#if item?.changesPercentageOI >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item?.changesPercentageOI >= 1000
|
>+{item?.changesPercentageOI >= 1000
|
||||||
? abbreviateNumberWithColor(
|
? abbreviateNumberWithColor(
|
||||||
item?.changesPercentageOI,
|
item?.changesPercentageOI,
|
||||||
|
|||||||
@ -294,7 +294,7 @@ ${paragraphs.join("\n")}
|
|||||||
Key Executives
|
Key Executives
|
||||||
</h2>
|
</h2>
|
||||||
{#if rawData?.executives?.length > 0}
|
{#if rawData?.executives?.length > 0}
|
||||||
<table class="mb-6 w-full text-base xs:mb-8">
|
<table class="mb-6 w-full xs:mb-8">
|
||||||
<thead class="bg-gray-200 shadow-sm dark:bg-primary"
|
<thead class="bg-gray-200 shadow-sm dark:bg-primary"
|
||||||
><tr class="border-y border-gray-300 dark:border-gray-600"
|
><tr class="border-y border-gray-300 dark:border-gray-600"
|
||||||
><th
|
><th
|
||||||
|
|||||||
@ -128,7 +128,7 @@
|
|||||||
<li class="mb-3 last:mb-1">
|
<li class="mb-3 last:mb-1">
|
||||||
{formatDate(item?.publishedDate)} ago -
|
{formatDate(item?.publishedDate)} ago -
|
||||||
<a
|
<a
|
||||||
class="sm:hover:text-white text-blue-400"
|
class="text-blue-500 sm:hover:text-muted dark:sm:hover:text-white dark:text-blue-400"
|
||||||
href={item?.url}
|
href={item?.url}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer nofollow">{item?.title}</a
|
rel="noopener noreferrer nofollow">{item?.title}</a
|
||||||
|
|||||||
@ -517,7 +517,7 @@
|
|||||||
|
|
||||||
<div class="mt-5 w-full overflow-x-auto">
|
<div class="mt-5 w-full overflow-x-auto">
|
||||||
<table
|
<table
|
||||||
class="table table-sm table-compact rounded-none sm:rounded-md w-full bg-table border border-gray-800 m-auto"
|
class="table table-sm table-compact no-scrollbar rounded-none sm:rounded-md w-full bg-white dark:bg-table border border-gray-300 dark:border-gray-800 m-auto"
|
||||||
>
|
>
|
||||||
<thead class="bg-default">
|
<thead class="bg-default">
|
||||||
<tr>
|
<tr>
|
||||||
@ -581,7 +581,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-[#00FC50]">
|
<span class="text-green-600 dark:text-[#00FC50]">
|
||||||
+{(
|
+{(
|
||||||
((item?.employeeCount -
|
((item?.employeeCount -
|
||||||
historyList[index + 1]?.employeeCount) /
|
historyList[index + 1]?.employeeCount) /
|
||||||
|
|||||||
@ -921,7 +921,7 @@
|
|||||||
Dividends & Yields
|
Dividends & Yields
|
||||||
</h2>
|
</h2>
|
||||||
<p
|
<p
|
||||||
class="mb-4 px-0.5 text-base leading-relaxed xs:text-[1.05rem] lg:leading-normal"
|
class="mb-4 px-0.5 leading-relaxed xs:text-[1.05rem] lg:leading-normal"
|
||||||
>
|
>
|
||||||
{#if rawData?.annualDividend !== null && rawData?.dividendYield !== null}
|
{#if rawData?.annualDividend !== null && rawData?.dividendYield !== null}
|
||||||
{$stockTicker} pays an annual dividend of ${rawData?.annualDividend},
|
{$stockTicker} pays an annual dividend of ${rawData?.annualDividend},
|
||||||
@ -1011,7 +1011,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="mb-2 px-0.5 text-xl font-bold">Analyst Forecast</h2>
|
<h2 class="mb-2 px-0.5 text-xl font-bold">Analyst Forecast</h2>
|
||||||
<p
|
<p
|
||||||
class="mb-4 px-0.5 text-base leading-relaxed xs:text-[1.05rem] lg:leading-normal"
|
class="mb-4 px-0.5 leading-relaxed xs:text-[1.05rem] lg:leading-normal"
|
||||||
data-test="statistics-text"
|
data-test="statistics-text"
|
||||||
>
|
>
|
||||||
{#if rawData?.priceTarget && rawData?.upside && rawData?.analystRating}
|
{#if rawData?.priceTarget && rawData?.upside && rawData?.analystRating}
|
||||||
@ -1083,7 +1083,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="mb-2 px-0.5 text-xl font-bold">Stock Splits</h2>
|
<h2 class="mb-2 px-0.5 text-xl font-bold">Stock Splits</h2>
|
||||||
<p
|
<p
|
||||||
class="mb-4 px-0.5 text-base leading-relaxed xs:text-[1.05rem] lg:leading-normal"
|
class="mb-4 px-0.5 leading-relaxed xs:text-[1.05rem] lg:leading-normal"
|
||||||
data-test="statistics-text"
|
data-test="statistics-text"
|
||||||
>
|
>
|
||||||
The last stock split was on {new Date(
|
The last stock split was on {new Date(
|
||||||
|
|||||||
@ -319,7 +319,7 @@
|
|||||||
<td
|
<td
|
||||||
class="text-sm sm:text-[1rem] {item?.put_call ===
|
class="text-sm sm:text-[1rem] {item?.put_call ===
|
||||||
'Calls'
|
'Calls'
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: 'text-[#FF2F1F]'} text-start"
|
: 'text-[#FF2F1F]'} text-start"
|
||||||
>
|
>
|
||||||
{item?.put_call}
|
{item?.put_call}
|
||||||
@ -328,7 +328,7 @@
|
|||||||
<td
|
<td
|
||||||
class="text-sm sm:text-[1rem] {item?.sentiment ===
|
class="text-sm sm:text-[1rem] {item?.sentiment ===
|
||||||
'Bullish'
|
'Bullish'
|
||||||
? 'text-[#00FC50]'
|
? 'text-green-600 dark:text-[#00FC50]'
|
||||||
: item?.sentiment === 'Bearish'
|
: item?.sentiment === 'Bearish'
|
||||||
? 'text-[#FF2F1F]'
|
? 'text-[#FF2F1F]'
|
||||||
: 'text-[#C6A755]'} text-start"
|
: 'text-[#C6A755]'} text-start"
|
||||||
|
|||||||
@ -1608,7 +1608,8 @@
|
|||||||
: "n/a"}
|
: "n/a"}
|
||||||
{:else if row?.type === "percentSign"}
|
{:else if row?.type === "percentSign"}
|
||||||
{#if item[row?.rule] >= 0}
|
{#if item[row?.rule] >= 0}
|
||||||
<span class="text-[#00FC50]"
|
<span
|
||||||
|
class="text-green-600 dark:text-[#00FC50]"
|
||||||
>+{item[row?.rule]?.toFixed(2)}%</span
|
>+{item[row?.rule]?.toFixed(2)}%</span
|
||||||
>
|
>
|
||||||
{:else}
|
{:else}
|
||||||
@ -1618,7 +1619,8 @@
|
|||||||
{/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 class="text-[#00FC50]"
|
<span
|
||||||
|
class="text-green-600 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])}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user