From 815fb7c821aadbe024e0718acec738827ee0fae2 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Sat, 18 Jan 2025 11:55:16 +0100 Subject: [PATCH] update ipo --- src/routes/ipos/+layout.server.ts | 25 ++ src/routes/ipos/+layout.svelte | 169 +++++--------- src/routes/ipos/+page.svelte | 39 +--- src/routes/ipos/[slug]/+page.svelte | 344 ++++++++++------------------ 4 files changed, 213 insertions(+), 364 deletions(-) create mode 100644 src/routes/ipos/+layout.server.ts diff --git a/src/routes/ipos/+layout.server.ts b/src/routes/ipos/+layout.server.ts new file mode 100644 index 00000000..55055d9a --- /dev/null +++ b/src/routes/ipos/+layout.server.ts @@ -0,0 +1,25 @@ +export const load = async ({ locals }) => { + const { apiKey, apiURL} = locals; + const getNews = async () => { + const postData = { newsType: "ipo-news" }; + // make the POST request to the endpoint + const response = await fetch(apiURL + "/market-news", { + 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 { + getNews: await getNews(), + }; +}; diff --git a/src/routes/ipos/+layout.svelte b/src/routes/ipos/+layout.svelte index ad3c8874..fc2d611f 100644 --- a/src/routes/ipos/+layout.svelte +++ b/src/routes/ipos/+layout.svelte @@ -1,35 +1,25 @@ - - - {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} IPOs - Calendar · Stocknear - - - - - - - - - - - - - - - - - - +
  • Home
  • -
  • IPO Calendar
  • +
  • Recent IPOs
@@ -100,10 +57,10 @@
-
+

- IPO Calendar + Recent IPOs

@@ -116,7 +73,32 @@ + + +
-
diff --git a/src/routes/ipos/+page.svelte b/src/routes/ipos/+page.svelte index 9cb7b571..b8966aba 100644 --- a/src/routes/ipos/+page.svelte +++ b/src/routes/ipos/+page.svelte @@ -1,13 +1,13 @@
- {#if isLoaded} -
-
- - All {rawData?.length} IPOs on the US stock market in between 2019 - 2024. -
+
- {:else} -
-
- -
-
- {/if} + diff --git a/src/routes/ipos/[slug]/+page.svelte b/src/routes/ipos/[slug]/+page.svelte index 3084c5b7..8c625b3d 100644 --- a/src/routes/ipos/[slug]/+page.svelte +++ b/src/routes/ipos/[slug]/+page.svelte @@ -1,77 +1,38 @@
- {#if isLoaded} -
- -
-
-
-
- Select Time period -
-
- -
-
- - {#if rawData?.length !== 0} -

+ {#if rawData?.length !== 0} +

+ {rawData?.length} IPOs +

+
+
- {rawData?.length} IPOs - -
-
- - - + + + + + + + + + + + {#each ipoList as item} + + + + - + {item?.symbol} + + + + {item?.name?.length > charNumber + ? formatString(item?.name?.slice(0, charNumber)) + "..." + : formatString(item?.name)} + + + + + + + - - - {#each ipoList as item} - - - - - - - - - - - - - - {/each} - - -
IPO Date
IPO DateSymbolNameIPO PriceCurrent PriceReturn Since
- Symbol - NameIPO Price - Current Price - Return Since + {item?.currentPrice !== null ? item?.currentPrice : "-"} + + {#if item?.return >= 0 && item?.return !== null} + +{abbreviateNumber(item?.return)}% + {:else if item?.return < 0 && item?.return !== null} + {abbreviateNumber(item?.return)}% + + {:else} + + - + + {/if} +
- {new Date(item?.date)?.toLocaleString("en-US", { - month: "short", - day: "numeric", - year: "numeric", - daySuffix: "2-digit", - })} - - - {item?.symbol} - - - {item?.name?.length > charNumber - ? formatString(item?.name?.slice(0, charNumber)) + "..." - : formatString(item?.name)} - - {item?.ipoPrice !== null ? item?.ipoPrice : "-"} - - {item?.currentPrice !== null ? item?.currentPrice : "-"} - - {#if item?.return >= 0 && item?.return !== null} - +{abbreviateNumber(item?.return)}% - {:else if item?.return < 0 && item?.return !== null} - {abbreviateNumber(item?.return)}% - - {:else} - - - - - {/if} -
-
- {:else} -
-
- - No IPOs found. Please adjust your search timeframe for the latest {year} - IPOs. -
-
- {/if} -
- {:else} -
-
- + {/each} + +
-
- {/if} + {:else} + + {/if} +