update stock list
This commit is contained in:
parent
1215ef8ad5
commit
028b5e152d
@ -176,7 +176,7 @@
|
|||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-[1rem] font-normal text-white">Listed Funds</div>
|
<div class="text-[1rem] font-normal text-white">Listed Funds</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{rawData?.length}
|
{rawData?.length}
|
||||||
</div>
|
</div>
|
||||||
@ -186,7 +186,7 @@
|
|||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-[1rem] font-normal text-white">Total Assets</div>
|
<div class="text-[1rem] font-normal text-white">Total Assets</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalAssets)}
|
{abbreviateNumber(totalAssets)}
|
||||||
</div>
|
</div>
|
||||||
@ -196,7 +196,7 @@
|
|||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-[1rem] font-normal text-white">Average Cost</div>
|
<div class="text-[1rem] font-normal text-white">Average Cost</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{avgExpenseRatio?.toFixed(2)}%
|
{avgExpenseRatio?.toFixed(2)}%
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -222,6 +222,34 @@
|
|||||||
title: "Highest Option Premium",
|
title: "Highest Option Premium",
|
||||||
link: "/list/highest-option-premium",
|
link: "/list/highest-option-premium",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest Artificial Intelligence Stocks",
|
||||||
|
link: "/list/ai-stocks",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest Mobile Game Stocks",
|
||||||
|
link: "/list/mobile-games",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest Social Media Stocks by Market Cap",
|
||||||
|
link: "/list/social-media-stocks",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest Clean Energy Stocks",
|
||||||
|
link: "/list/clean-energy",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest E-Sports Stocks",
|
||||||
|
link: "/list/esports",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest Car Company Stocks",
|
||||||
|
link: "/list/car-company-stocks",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Biggest Electric Vehicle Stocks",
|
||||||
|
link: "/list/electric-vehicles",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
navigation = [...navigationIndustry, ...navigation];
|
navigation = [...navigationIndustry, ...navigation];
|
||||||
@ -236,7 +264,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<section
|
<section
|
||||||
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 px-4 lg:px-3 mb-20"
|
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden pb-40 pt-5 px-4 lg:px-3 mb-20"
|
||||||
>
|
>
|
||||||
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
<div class="text-sm sm:text-[1rem] breadcrumbs">
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
@ -236,6 +236,96 @@
|
|||||||
|
|
||||||
<!--End Other Lists-->
|
<!--End Other Lists-->
|
||||||
|
|
||||||
|
<div class="text-white">
|
||||||
|
<h2 class="mb-2 text-xl font-bold pt-10">
|
||||||
|
Category of Stocks Ranked by Market Cap
|
||||||
|
</h2>
|
||||||
|
<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"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/mobile-games/"
|
||||||
|
>Mobile Games</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="text-blue-400 sm:hover:text-white"
|
||||||
|
href="/list/social-media-stocks/">Social Media</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/clean-energy/"
|
||||||
|
>Clean Energy</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/esports/"
|
||||||
|
>E-Sports</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="text-blue-400 sm:hover:text-white"
|
||||||
|
href="/list/car-company-stocks/">Car Companies</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/ai-stocks/"
|
||||||
|
>Artificial Intelligence</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="text-blue-400 sm:hover:text-white"
|
||||||
|
href="/list/electric-vehicles/">Electric Vehicles</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/online-gambling/"
|
||||||
|
>Online Gambling</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="text-blue-400 sm:hover:text-white"
|
||||||
|
href="/list/augmented-reality/">Augmented Reality</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/gaming-stocks/"
|
||||||
|
>Gaming</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="text-blue-400 sm:hover:text-white"
|
||||||
|
href="/list/pharmaceutical-stocks/">Pharmaceuticals</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/online-dating/"
|
||||||
|
>Online Dating</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/virtual-reality/"
|
||||||
|
>Virtual Reality</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/sports-betting/"
|
||||||
|
>Sports Betting</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="text-blue-400 sm:hover:text-white" href="/list/metaverse/"
|
||||||
|
>Metaverse</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--Start Non-US Stocks Listed on US Exchanges-->
|
<!--Start Non-US Stocks Listed on US Exchanges-->
|
||||||
<div class="text-white">
|
<div class="text-white">
|
||||||
<h2 class="mb-2 text-xl font-bold pt-10">
|
<h2 class="mb-2 text-xl font-bold pt-10">
|
||||||
|
|||||||
24
src/routes/list/ai-stocks/+page.server.ts
Normal file
24
src/routes/list/ai-stocks/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'ai-stocks'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
59
src/routes/list/ai-stocks/+page.svelte
Normal file
59
src/routes/list/ai-stocks/+page.svelte
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import Infobox from "$lib/components/Infobox.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData;
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO title="A List of Artificial Intelligence (AI) Stocks" description="" />
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<Infobox
|
||||||
|
text="This is a list of the top stocks that are directly involved with artificial intelligence (AI) and/or have significant exposure to the growth of AI technology."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
@ -111,9 +111,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total ETFs</div>
|
<div class="text-[1rem] font-semibold text-white">Total ETFs</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -121,9 +121,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Assets</div>
|
<div class="text-[1rem] font-semibold text-white">Total Assets</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalAssets)}
|
{abbreviateNumber(totalAssets)}
|
||||||
</div>
|
</div>
|
||||||
@ -131,9 +131,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Avg. Cost</div>
|
<div class="text-[1rem] font-semibold text-white">Avg. Cost</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{avgExpenseRatio?.toFixed(2)}%
|
{avgExpenseRatio?.toFixed(2)}%
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
24
src/routes/list/car-company-stocks/+page.server.ts
Normal file
24
src/routes/list/car-company-stocks/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'car-company-stocks'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
62
src/routes/list/car-company-stocks/+page.svelte
Normal file
62
src/routes/list/car-company-stocks/+page.svelte
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import Infobox from "$lib/components/Infobox.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData || [];
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO
|
||||||
|
title="A List of Car Company Stocks, Ranked by Market Cap"
|
||||||
|
description="A list of the biggest car company and automaker stocks, ranked by market capitalization."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<Infobox
|
||||||
|
text="This is a list of the biggest car company and automaker stocks, ranked by market capitalization."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
24
src/routes/list/clean-energy/+page.server.ts
Normal file
24
src/routes/list/clean-energy/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'clean-energy'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
57
src/routes/list/clean-energy/+page.svelte
Normal file
57
src/routes/list/clean-energy/+page.svelte
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData;
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO
|
||||||
|
title="A List of Clean Energy Stocks, Ranked by Market Cap"
|
||||||
|
description=""
|
||||||
|
/>
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
@ -38,9 +38,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -48,9 +48,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -58,9 +58,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
24
src/routes/list/electric-vehicles/+page.server.ts
Normal file
24
src/routes/list/electric-vehicles/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'electric-vehicles'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
57
src/routes/list/electric-vehicles/+page.svelte
Normal file
57
src/routes/list/electric-vehicles/+page.svelte
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData;
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO
|
||||||
|
title="Biggest Electric Vehicle Stocks, Sorted by Market Cap"
|
||||||
|
description=""
|
||||||
|
/>
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
24
src/routes/list/esports/+page.server.ts
Normal file
24
src/routes/list/esports/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'esports'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
59
src/routes/list/esports/+page.svelte
Normal file
59
src/routes/list/esports/+page.svelte
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import Infobox from "$lib/components/Infobox.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData;
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO title="A List of E-Sports Stocks" description="" />
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<Infobox
|
||||||
|
text="E-Sports stands for Electronic Sports. It is a term for competition in video games, often over the internet but also via in-person events. Below is a list of stocks of companies involved in e-sports."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
@ -40,9 +40,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -50,9 +50,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -60,9 +60,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -30,9 +30,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -40,9 +40,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -50,9 +50,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -46,9 +46,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -56,9 +56,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -66,9 +66,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -30,9 +30,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -40,9 +40,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -50,9 +50,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -30,9 +30,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -40,9 +40,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -50,9 +50,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -126,9 +126,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -136,9 +136,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -146,9 +146,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
24
src/routes/list/mobile-games/+page.server.ts
Normal file
24
src/routes/list/mobile-games/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'mobile-games'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
54
src/routes/list/mobile-games/+page.svelte
Normal file
54
src/routes/list/mobile-games/+page.svelte
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData;
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO title="A List of Mobile Game Stocks" description="" />
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
@ -28,9 +28,9 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Stocks</div>
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
</div>
|
</div>
|
||||||
@ -38,9 +38,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Market Cap</div>
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalMarketCap)}
|
{abbreviateNumber(totalMarketCap)}
|
||||||
</div>
|
</div>
|
||||||
@ -48,9 +48,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Total Revenue</div>
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(totalRevenue)}
|
{abbreviateNumber(totalRevenue)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
24
src/routes/list/social-media-stocks/+page.server.ts
Normal file
24
src/routes/list/social-media-stocks/+page.server.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export const load = async ({ locals }) => {
|
||||||
|
const getData = async () => {
|
||||||
|
const { apiKey, apiURL } = locals;
|
||||||
|
const postData = {'filterList': 'social-media-stocks'}
|
||||||
|
// make the POST request to the endpoint
|
||||||
|
const response = await fetch(apiURL + "/list-category", {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"X-API-KEY": apiKey,
|
||||||
|
},
|
||||||
|
body: JSON.stringify(postData)
|
||||||
|
});
|
||||||
|
|
||||||
|
const output = await response.json();
|
||||||
|
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make sure to return a promise
|
||||||
|
return {
|
||||||
|
getData: await getData(),
|
||||||
|
};
|
||||||
|
};
|
||||||
59
src/routes/list/social-media-stocks/+page.svelte
Normal file
59
src/routes/list/social-media-stocks/+page.svelte
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import { abbreviateNumber } from "$lib/utils";
|
||||||
|
import Table from "$lib/components/Table/Table.svelte";
|
||||||
|
import Infobox from "$lib/components/Infobox.svelte";
|
||||||
|
import SEO from "$lib/components/SEO.svelte";
|
||||||
|
|
||||||
|
export let data;
|
||||||
|
let rawData = data?.getData;
|
||||||
|
|
||||||
|
let totalMarketCap =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.marketCap, 0) ?? 0;
|
||||||
|
let totalRevenue =
|
||||||
|
rawData?.reduce((total, stock) => total + stock?.revenue, 0) ?? 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<SEO title="A List of Social Media Company Stocks" description="" />
|
||||||
|
|
||||||
|
<section class="w-full overflow-hidden m-auto">
|
||||||
|
<Infobox
|
||||||
|
text="This list includes stocks of companies who own social networks or have a significant percentage of their operations involved with social media."
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="mt-6 mb-4 flex flex-col divide-y divide-gray-600 rounded-md border border-gray-600 sm:grid sm:grid-cols-3 sm:divide-x sm:divide-y-0"
|
||||||
|
>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Stocks</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{new Intl.NumberFormat("en")?.format(rawData?.length)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Market Cap</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalMarketCap)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
|
<div class="flex items-center justify-between sm:block">
|
||||||
|
<div class="text-[1rem] font-semibold text-white">Total Revenue</div>
|
||||||
|
<div
|
||||||
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
|
>
|
||||||
|
{abbreviateNumber(totalRevenue)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Table {data} rawData={data?.getData} />
|
||||||
|
</section>
|
||||||
@ -580,7 +580,7 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Date</div>
|
<div class="text-[1rem] font-semibold text-white">Date</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
||||||
>
|
>
|
||||||
@ -591,7 +591,9 @@
|
|||||||
|
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Volume</div>
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
|
Volume
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
||||||
>
|
>
|
||||||
@ -605,7 +607,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
Net Call Premium
|
Net Call Premium
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@ -621,7 +623,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
Net Put Premium
|
Net Put Premium
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -634,7 +634,7 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Date</div>
|
<div class="text-[1rem] font-semibold text-white">Date</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
||||||
>
|
>
|
||||||
@ -645,7 +645,9 @@
|
|||||||
|
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Volume</div>
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
|
Volume
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
class="mt-1 break-words font-semibold leading-8 text-white text-sm sm:text-[1rem]"
|
||||||
>
|
>
|
||||||
@ -659,7 +661,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
Net Call Premium
|
Net Call Premium
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@ -675,7 +677,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
Net Put Premium
|
Net Put Premium
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -316,7 +316,7 @@
|
|||||||
<div class="text-[1rem] font-normal text-white">Total Analysts</div>
|
<div class="text-[1rem] font-normal text-white">Total Analysts</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{numOfAnalyst}
|
{numOfAnalyst}
|
||||||
</div>
|
</div>
|
||||||
@ -326,7 +326,7 @@
|
|||||||
Consensus Rating
|
Consensus Rating
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{consensusRating}
|
{consensusRating}
|
||||||
</div>
|
</div>
|
||||||
@ -334,7 +334,7 @@
|
|||||||
<div class="p-4 bp:p-5 sm:p-6 border-t border-gray-600 md:border-0">
|
<div class="p-4 bp:p-5 sm:p-6 border-t border-gray-600 md:border-0">
|
||||||
<div class="text-[1rem] font-normal text-white">Price Target</div>
|
<div class="text-[1rem] font-normal text-white">Price Target</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{priceTarget !== null && priceTarget !== undefined
|
{priceTarget !== null && priceTarget !== undefined
|
||||||
? priceTarget
|
? priceTarget
|
||||||
|
|||||||
@ -113,11 +113,11 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
FTD Shares
|
FTD Shares
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{abbreviateNumber(
|
{abbreviateNumber(
|
||||||
rawData?.slice(-1)?.at(0)?.failToDeliver,
|
rawData?.slice(-1)?.at(0)?.failToDeliver,
|
||||||
@ -128,11 +128,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
FTD / Avg Volume
|
FTD / Avg Volume
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{relativeFTD > 0.01
|
{relativeFTD > 0.01
|
||||||
? relativeFTD + "%"
|
? relativeFTD + "%"
|
||||||
@ -144,7 +144,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
1-Year Change
|
1-Year Change
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -460,11 +460,11 @@
|
|||||||
>
|
>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
Market Cap
|
Market Cap
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{@html abbreviateNumber(
|
{@html abbreviateNumber(
|
||||||
data?.getStockQuote?.marketCap,
|
data?.getStockQuote?.marketCap,
|
||||||
@ -476,9 +476,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">Category</div>
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
|
Category
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mt-1 break-words font-semibold leading-8 text-white text-[1rem] sm:text-lg"
|
class="mt-1 break-words font-semibold leading-8 text-white text-xl sm:text-2xl"
|
||||||
>
|
>
|
||||||
{#if capCategory}
|
{#if capCategory}
|
||||||
<a
|
<a
|
||||||
@ -495,7 +497,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
<div class="px-4 py-3 sm:px-2 sm:py-5 md:px-3 lg:p-6">
|
||||||
<div class="flex items-center justify-between sm:block">
|
<div class="flex items-center justify-between sm:block">
|
||||||
<div class="text-sm font-semibold text-white">
|
<div class="text-[1rem] font-semibold text-white">
|
||||||
1-Year Change
|
1-Year Change
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user