diff --git a/src/routes/blog/article/[slug]/+page.svelte b/src/routes/blog/article/[slug]/+page.svelte index 26396bb3..436adb9d 100644 --- a/src/routes/blog/article/[slug]/+page.svelte +++ b/src/routes/blog/article/[slug]/+page.svelte @@ -21,9 +21,9 @@ />
-
+
{#if article?.cover} @@ -42,16 +42,16 @@
-

+

{article?.title}

-
+
Last Updated: {new Date(article?.updated)?.toLocaleString( "en-US", { diff --git a/src/routes/faq/+page.svelte b/src/routes/faq/+page.svelte index cceb2864..11a6a1c3 100644 --- a/src/routes/faq/+page.svelte +++ b/src/routes/faq/+page.svelte @@ -38,7 +38,7 @@

1. Is there a guide on how to use Stocknear’s features?

-

+

Yes! We've created the 2. How long does it take to see earnings releases? -

+

Earnings reports are available on Stocknear within 1-5 minutes after they go live.

@@ -60,17 +60,17 @@

3. Why is your data different from other finance sites?

-

+

Like other platforms, we source data from third-party providers. With thousands of stocks and funds worldwide, manual data collection is impractical.

-

+

Data providers rely on automated methods, which can lead to variations between platforms. Differences in definitions and collection techniques can cause slight discrepancies.

-

+

If you notice an inaccuracy, please contact us at 4. Is the Options data real-time or delayed? -

+

Our -

+

We focus on unusual options activity from hedge funds and institutional traders. Retail investor contracts are excluded to eliminate noise and highlight significant market moves. @@ -102,7 +102,7 @@

6. Is Dark Pool data real-time or delayed?

-

+

Dark Pool data is delayed by 15 minutes. We partner with major exchanges to provide exclusive Wall Street insights typically reserved for institutional traders. @@ -111,14 +111,14 @@

7. I found an error in the data. What should I do?

-

+

Please email {emailAddress}, and we’ll investigate immediately.

-

+

We manually verify every error report and work with data providers to ensure corrections are made at the source.

@@ -126,7 +126,7 @@

8. Can I request new features? How can I contact you?

-

+

Absolutely! Email us or join our 9. Do you offer an API? -

+

Not at the moment. We license data from third-party providers and don’t have redistribution rights. However, we plan to offer an API in the future. diff --git a/src/routes/imprint/+page.svelte b/src/routes/imprint/+page.svelte index 4068705b..a1489162 100644 --- a/src/routes/imprint/+page.svelte +++ b/src/routes/imprint/+page.svelte @@ -33,7 +33,7 @@ According to § 5 Telemediengesetz (TMG) ‍

-

+

Stocknear GmbH
Am Lohgraben 30 @@ -46,25 +46,25 @@ class="text-blue-700 dark:text-blue-400 sm:hover:text-muted dark:sm:hover:text-white sm:hover:underline" >{emailAddress}
. -
-
+
+ Managing Director (Geschäftsführer): Muslem Rahimi -
-
- Registered in the commercial register at the local court at Siegen - under: HRB 13800 +
+ + Registered in the commercial register at the local court at + Siegen under: HRB 13800
VAT ID: DE366905061

-

+

Responsible for the content according § 55 Abs. 2 RStV
Notice according to the Online Dispute Settlement Regulation

-

+

Under applicable law, we are required to inform consumers of the existence of the European Online Dispute Resolution platform, which can be used to resolve disputes without having to go to @@ -86,7 +86,7 @@ (VSBG) -

+

We are not willing and obliged to participate in dispute resolution proceedings before a consumer arbitration board.

diff --git a/src/routes/insider-tracker/+page.server.ts b/src/routes/insider-tracker/+page.server.ts index dcc17a3f..3f2dfc6e 100644 --- a/src/routes/insider-tracker/+page.server.ts +++ b/src/routes/insider-tracker/+page.server.ts @@ -12,7 +12,6 @@ export const load = async ({ locals }) => { }); let output = await response.json(); - output = !["Pro", "Plus"]?.includes(user?.tier) ? output?.slice(0, 6) : output; return output; }; diff --git a/src/routes/insider-tracker/+page.svelte b/src/routes/insider-tracker/+page.svelte index 871e56a0..6d523863 100644 --- a/src/routes/insider-tracker/+page.svelte +++ b/src/routes/insider-tracker/+page.svelte @@ -12,10 +12,8 @@ export let data; - let isLoaded = true; let rawData = processTickerData(data?.getInsiderTracker) ?? []; let stockList = rawData?.slice(0, 50) ?? []; - isLoaded = true; function processTickerData(data) { const symbolMap = new Map(); @@ -186,176 +184,163 @@

Insider Tracker

- {#if isLoaded} - + /> -
-
+
+ -
- - - - - {#each stockList as item, index} - + + + + {#each stockList as item, index} + + - - - + + - + - + - + - + - + - - - {#if checkedSymbol === item?.symbol} - + + {#if checkedSymbol === item?.symbol} + - - {/if} - {/each} - -
- - - {item?.name?.length > charNumber - ? item?.name?.slice(0, charNumber) + "..." - : item?.name} - + + + {item?.name?.length > charNumber + ? item?.name?.slice(0, charNumber) + "..." + : item?.name} + - {item?.reportingName?.length > charNumber - ? item?.reportingName?.slice(0, charNumber) + "..." - : item?.reportingName} - + {item?.reportingName?.length > charNumber + ? item?.reportingName?.slice(0, charNumber) + "..." + : item?.reportingName} + - {abbreviateNumber(item?.marketCap)} - + {abbreviateNumber(item?.marketCap)} + - {item?.price} - + {item?.price} + - {item?.changesPercentage > 0 - ? "+" - : ""}{item?.changesPercentage}% - + {item?.changesPercentage > 0 + ? "+" + : ""}{item?.changesPercentage}% + - {abbreviateNumber(item?.totalShares)} - + {abbreviateNumber(item?.totalShares)} + -
-
- {abbreviateNumber(item?.avgValue)} -
-
- {item?.transactionType} -
+
+
+
+ {abbreviateNumber(item?.avgValue)}
-
-
-
+
+ {item?.transactionType} +
+
+
+
+
+
-
- ({ - ...item, - type: item?.transactionType, - date: item?.filingDate, - ticker: item?.symbol, - }), - )} - symbol={item?.symbol} - numOfRatings={item?.ratings} - title={"Insider Trading"} - addToLast={true} - {data} - /> -
+ ({ + ...item, + type: item?.transactionType, + date: item?.filingDate, + ticker: item?.symbol, + }), + )} + symbol={item?.symbol} + numOfRatings={item?.ratings} + title={"Insider Trading"} + addToLast={true} + {data} + />
-
-
- +
+
+ + {/if} + {/each} + +
- {:else} -
-
- -
-
- {/if} + +
diff --git a/src/routes/notifications/+page.svelte b/src/routes/notifications/+page.svelte index 15f3aa80..7290d4ae 100644 --- a/src/routes/notifications/+page.svelte +++ b/src/routes/notifications/+page.svelte @@ -289,21 +289,6 @@ {/if} {/each}
- {:else} -
- Empty just like our souls... - -
{/if} diff --git a/src/routes/politicians/[slug]/+page.svelte b/src/routes/politicians/[slug]/+page.svelte index ebc9cb12..23dca175 100644 --- a/src/routes/politicians/[slug]/+page.svelte +++ b/src/routes/politicians/[slug]/+page.svelte @@ -340,11 +340,13 @@ > {#if item?.type === "Bought"} - {item?.type} {:else if item?.type === "Sold"} - {item?.type} {:else if item?.type === "Exchange"} diff --git a/src/routes/price-alert/+page.svelte b/src/routes/price-alert/+page.svelte index 934afd31..00ebc85c 100644 --- a/src/routes/price-alert/+page.svelte +++ b/src/routes/price-alert/+page.svelte @@ -418,16 +418,30 @@ - Symbol - Company + Symbol + Company - Price Target - Condition - Price - % Change - Volume + Condition + + Price + % Change + Volume @@ -490,11 +504,11 @@ class=" text-sm sm:text-[1rem] whitespace-nowrap text-end" > {#if item?.changesPercentage >= 0} - +{item?.changesPercentage?.toFixed(2)}% {:else} - {item?.changesPercentage?.toFixed(2)}% {/if} @@ -536,7 +550,7 @@ xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" > diff --git a/src/routes/reddit-tracker/+page.svelte b/src/routes/reddit-tracker/+page.svelte index a2728e59..bf208a85 100644 --- a/src/routes/reddit-tracker/+page.svelte +++ b/src/routes/reddit-tracker/+page.svelte @@ -342,7 +342,7 @@ - {item?.count} {item?.put} 0.4 ? 'text-green-700 dark:text-[#00FC50]' : item?.avgSentiment < -0.1 ? 'text-red-700 dark:text-[#FF2F1F]' - : 'text-[#C6A755]'} " + : 'text-yellow-600 dark:text-[#C6A755]'} " >{item?.avgSentiment > 0.4 ? "Bullish" : item?.avgSentiment <= -0.1 diff --git a/src/routes/stocks/[tickerID]/statistics/market-cap/+page.svelte b/src/routes/stocks/[tickerID]/statistics/market-cap/+page.svelte index 87ab357a..d092307d 100644 --- a/src/routes/stocks/[tickerID]/statistics/market-cap/+page.svelte +++ b/src/routes/stocks/[tickerID]/statistics/market-cap/+page.svelte @@ -252,6 +252,9 @@ function plotData() { const filteredData = filterDataByTimePeriod(rawData, timePeriod); + const fillColorStart = "rgb(70, 129, 244,0.5)"; + const fillColorEnd = "rgb(70, 129, 244,0.001)"; + const options = { credits: { enabled: false, @@ -262,7 +265,7 @@ height: 360, // Set the maximum height for the chart }, title: { - text: `

${$stockTicker} Market Cap

`, + text: `

${removeCompanyStrings($displayCompanyName)} Market Cap

`, style: { color: $mode === "light" ? "black" : "white", // Using inline CSS for margin-top and margin-bottom @@ -282,7 +285,7 @@ style: { color: $mode === "light" ? "#545454" : "white", }, - distance: 20, // Increases space between label and axis + distance: 10, // Increases space between label and axis formatter: function () { const date = new Date(this.value); return date.toLocaleDateString("en-US", { @@ -308,7 +311,7 @@ gridLineWidth: 1, gridLineColor: $mode === "light" ? "#e5e7eb" : "#111827", labels: { - style: { color: $mode === "light" ? "black" : "white" }, + style: { color: $mode === "light" ? "#545454" : "white" }, }, title: { text: null }, opposite: true, @@ -338,7 +341,6 @@ // Loop through each point in the shared tooltip this.points.forEach((point) => { tooltipContent += ` - ${point.series.name}: ${abbreviateNumber(point.y)}
`; }); @@ -366,16 +368,16 @@ name: "Mkt Cap", type: "area", data: filteredData?.marketCapList, - color: $mode === "light" ? "blue" : "white", - lineWidth: 1, + color: "#4681f4", + lineWidth: 1.3, marker: { enabled: false, }, fillColor: { linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, stops: [ - [0, "rgba(255, 255, 255, 0.1)"], - [1, "rgba(255, 255, 255, 0.001)"], + [0, fillColorStart], + [1, fillColorEnd], ], }, }, @@ -521,10 +523,10 @@ {changePercentageYearAgo >= 0 ? "Positive" : "Negative"} @@ -713,14 +715,20 @@
- - Date + + - @@ -749,7 +757,7 @@ {#if index === tableList?.length - 1} n/a {:else if item?.marketCap > tableList[index + 1]?.marketCap} - + +{( ((item?.marketCap - tableList[index + 1]?.marketCap) / @@ -758,7 +766,7 @@ )?.toFixed(2)}% {:else if item?.marketCap < tableList[index + 1]?.marketCap} - + -{( Math.abs( (item?.marketCap - diff --git a/src/routes/stocks/[tickerID]/statistics/revenue/+page.svelte b/src/routes/stocks/[tickerID]/statistics/revenue/+page.svelte index 76633e8e..821c30b2 100644 --- a/src/routes/stocks/[tickerID]/statistics/revenue/+page.svelte +++ b/src/routes/stocks/[tickerID]/statistics/revenue/+page.svelte @@ -114,7 +114,7 @@ categories: dates, gridLineWidth: 0, labels: { - style: { color: $mode === "light" ? "black" : "white" }, + style: { color: $mode === "light" ? "#545454" : "white" }, formatter: function () { return timeIdx === 0 ? this?.value?.substring(0, 4) : this?.value; }, @@ -124,7 +124,7 @@ gridLineWidth: 1, gridLineColor: $mode === "light" ? "#e5e7eb" : "#111827", labels: { - style: { color: $mode === "light" ? "black" : "white" }, + style: { color: $mode === "light" ? "#545454" : "white" }, }, title: { text: null }, opposite: true, @@ -420,13 +420,18 @@ > - - - + + @@ -455,7 +460,7 @@ {#if index === tableList?.length - 1} n/a {:else if item?.revenue > tableList[index + 1]?.revenue} - + +{( ((item?.revenue - tableList[index + 1]?.revenue) / @@ -464,7 +469,7 @@ )?.toFixed(2)}% {:else if item?.revenue < tableList[index + 1]?.revenue} - + -{( Math.abs( (item?.revenue -
DateMarket CapMarket Cap% Change% Change
{activeIdx === 0 ? "Fiscal Year End" : "Quarter Ended"}Revenue% ChangeRevenue% Change