diff --git a/src/lib/images/community_banner.jpg:Zone.Identifier b/src/lib/images/community_banner.jpg:Zone.Identifier deleted file mode 100644 index 5f01d06f..00000000 --- a/src/lib/images/community_banner.jpg:Zone.Identifier +++ /dev/null @@ -1,4 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -ReferrerUrl=https://imagecompressor.com/ -HostUrl=https://imagecompressor.com/download/2p41up112mm1rrc1/file_k4ogqo1j276r91pt3sd1kat1tt/community_banner-min.jpg diff --git a/src/lib/images/test.png b/src/lib/images/test.png deleted file mode 100644 index 84bf2756..00000000 Binary files a/src/lib/images/test.png and /dev/null differ diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 200161f5..b517a9f6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,17 +1,7 @@ @@ -140,7 +40,6 @@ async function loadSearchData() { - @@ -148,45 +47,28 @@ async function loadSearchData() { - -
+
-
+
-
+
- - - {#if Feedback} - - {/if}
-
+
- - - - -
+ +
@@ -195,55 +77,30 @@ async function loadSearchData() {
-
+
- {#if data?.user} + - {/if} - - - - {#if !data?.user} -
-
+
Trusted & used by over 1000+ traders
- {/if} -
+
-

+

Your - All-in-One - Solution for - Stock Analysis + modern + Stock Analysis Platform

- - - - - + We provide high quality Wallstreet Data to @@ -252,128 +109,258 @@ async function loadSearchData() { - - {#if !data?.user} +
- - Try FREE for 7 days + + Start free 7 days trial
- + No credit card required - + Instant Access
- {:else} - -
- -
- {/if} - - - - - - - {#if active?.length !== 0} -
- - Trending: - - {#each active?.slice(0,4) as item, index} - - {item?.symbol} - - {#if index !== 3} - , - {/if} - {/each} -
- {/if} - - - {#if data?.user} -
- Track the investment portfolios of prominent Wall Street Figures. -
- - - {/if} - +
- + +

+ Explore High Quality Datasets +

+
+ logo +
+ + +
+ +
+
+

+ + Dark Pool +

+ + Access high-volume, privately negotiated trades from exclusive exchanges, typically used by institutional investors. This data is now available to you! + +
+
+ +
+
+

+ + Market Maker +

+ + Access Market Maker Activity to monitor their trading volume and identify the companies they are focusing on to spot potential hot stocks. + +
+
+ +
+
+

+ + Retail Trader Tracker +

+ + Gain exclusive insights with our Retail Trader Tracker to discover where retail traders are investing and identify the next potential hype stocks. + +
+
+ +
+
+

+ + Wall Str. Analyst +

+ + Access the Wall Street Analyst Database to explore insights from over 4,000 analysts, including their win rates, potential returns and latest ratings. + +
+
+ +
+
+

+ + Congress Trading +

+ + Stay updated on the latest Congress Trading activities to see where politicians are investing and gain unique insights for potentially significant gains. + +
+
+ +
+
+

+ + Hedge Funds +

+ + Access the Hedge Fund Portfolio to explore their investments and identify the top-performing funds. + +
+
+ + + +
+ +

+ AI-Powered Algorithms to assist you in any way +

+ +
+
+
+ + +
+ + +
+ +
+ +
+

Market Trends

+

+ We are analyzing and predicting the trends for each company for the forthcoming months. +

+
+ + +
+
+ +
+

Price Movements

+

+ We are predicting the price movements of each company to empower you with confidence in your investment strategy. +

+
+ + +
+
+ +
+

News Sentiments

+

+ We are processing millions of news articles to evaluate what the market thinks about each company. +

+
+ +
+ +
+
+
+ + +

+ Realtime Options Flow +

+
+ logo +
-
+ + +
+
+
+ + +
+ + +
+ +
+ +
+

Track institutional activity

+

+ Gain insights into the latest moves smart money traders and hedge funds are doing. +

+
+ + +
+
+ +
+

Fast, reliable market data

+

+ Get the latest options flow data delivered to you quickly and accurately. +

+
+ + +
+
+ +
+

Best User Experience

+

+ Enjoy an intuitive interface that makes finding the information you need effortless. +

+
+ +
+ +
+
+
+ + +

+ Proudly Open Source +

+ +
+ Stocknear is committed to open source & transparency. You can also run it locally or self-hosted. +
+ + +
+ + + + stocknear + {frontendStars+backendStars} + + +
+
+ + + Leave a star to support us + + +
+ + + +
@@ -384,486 +371,6 @@ async function loadSearchData() {
- - - - - - - - - - - - - - -
- - - - - - - -
-
- - - - - - - - - See All - -
- -
- - - -
- - -
- - - - - - - - - -
- - - - - - - - - - -
-

- Latest Market Momentum -

- {#each rssFeedWIIM?.slice(0,5) as item} -
-
-
- - {item?.text} -
-
- {#each item?.stocks as item2} - - {/each} -
- -
- {#if latestInfoDate(item?.date)} - - · - {/if} - - {formatDate(item?.date)} ago - -
- -
-
- -
-
- {/each} -
- - - -
@@ -886,24 +393,26 @@ async function loadSearchData() {
-
-
-
-
-

Start your free trial today

-

Try Stocknear Platform for 7 days. No credit card required.

- - Free trial for 7 days - - - - -
- logo -
-
-
+ + +
+
+
+
+

Start your free trial today

+

Try Stocknear Platform for 7 days. No credit card required.

+ + Free trial for 7 days + + + + +
+ +
+
+
@@ -913,70 +422,29 @@ async function loadSearchData() { - - \ No newline at end of file + \ No newline at end of file diff --git a/src/routes/+page.ts b/src/routes/+page.ts index 375a56ed..e26b425b 100644 --- a/src/routes/+page.ts +++ b/src/routes/+page.ts @@ -1,76 +1,67 @@ -import { showCookieConsent, userRegion, getCache, setCache } from '$lib/store'; +import {getCache, setCache } from '$lib/store'; +import { redirect } from '@sveltejs/kit'; -const usRegion = ['cle1','iad1','pdx1','sfo1']; +export const load = async ({parent}) => { -let apiURL; + const data = await parent(); -userRegion.subscribe(value => { - - if (usRegion.includes(value)) { - apiURL = import.meta.env.VITE_USEAST_API_URL; - } else { - apiURL = import.meta.env.VITE_EU_API_URL; - } -}); + if (data?.user) { + redirect(303, '/home'); + } -export const load = async () => { - - - const getDailyGainerLoserActive = async () => { + const getFrontendStars = async () => { let output; // Get cached data for the specific tickerID - const cachedData = getCache('', 'getDailyGainerLoserActive'); + const cachedData = getCache('', 'getFrontendStars'); if (cachedData) { output = cachedData; } else { // make the POST request to the endpoint - const response = await fetch(apiURL + '/market-movers', { + const response = await fetch('https://api.github.com/repos/stocknear/frontend', { method: 'GET', headers: { 'Content-Type': 'application/json', }, }); - output = await response.json(); - - setCache('', output, 'getDailyGainerLoserActive'); + output = (await response.json())['stargazers_count']; + setCache('', output, 'getFrontendStars'); } - return output; }; - const getRssFeedWIIM = async () => { + const getBackendStars = async () => { let output; // Get cached data for the specific tickerID - const cachedData = getCache('', 'getRssFeedWIIM'); + const cachedData = getCache('', 'getBackendStars'); if (cachedData) { output = cachedData; } else { // make the POST request to the endpoint - const response = await fetch(apiURL + '/rss-feed-wiim', { + const response = await fetch('https://api.github.com/repos/stocknear/backend', { method: 'GET', headers: { 'Content-Type': 'application/json', }, }); - output = await response.json(); - - setCache('', output, 'getRssFeedWIIM'); + output = (await response.json())['stargazers_count']; + setCache('', output, 'getBackendStars'); } - return output; }; + + // Make sure to return a promise return { - getDailyGainerLoserActive: await getDailyGainerLoserActive(), - getRssFeedWIIM: await getRssFeedWIIM(), + getFrontendStars: await getFrontendStars(), + getBackendStars: await getBackendStars(), }; }; \ No newline at end of file diff --git a/src/routes/crypto/[tickerID]/+page.server.ts b/src/routes/crypto/[tickerID]/+page.server.ts index 61d143cb..f34bf12d 100644 --- a/src/routes/crypto/[tickerID]/+page.server.ts +++ b/src/routes/crypto/[tickerID]/+page.server.ts @@ -126,7 +126,7 @@ export const actions = { maxAge: 60*60 }); - cookies.set('path', "/stocks/"+params.tickerID, {httpOnly: true, + cookies.set('path', "/crypto/"+params.tickerID, {httpOnly: true, sameSite: 'lax', secure: true, path: '/', diff --git a/src/routes/home/+page.svelte b/src/routes/home/+page.svelte new file mode 100644 index 00000000..028ef97a --- /dev/null +++ b/src/routes/home/+page.svelte @@ -0,0 +1,724 @@ + + + + + + + + + + {$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ''} Free Stock Analysis Information for Small Investors · stocknear + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + +
+
+ + + + {#if Feedback} + + {/if} +
+
+ + + + + +
+
+ + +
+ + +
+ +
+
+ + +
+ + + + + + +
+ +

+ Your + All-in-One + Solution for + Stock Analysis +

+
+ + + + + + + + We provide high quality + Wallstreet Data + to + Retail Traders. + + + + + +
+ +
+ + + + + + + {#if active?.length !== 0} +
+ + Trending: + + {#each active?.slice(0,4) as item, index} + + {item?.symbol} + + {#if index !== 3} + , + {/if} + {/each} +
+ {/if} + + + {#if data?.user} +
+ Track the investment portfolios of prominent Wall Street Figures. +
+ + + {/if} + + + + +
+ + + + +
+
+ + +
+ +
+
+ +
+ + + + + + + +
+ + + + + + + +
+
+ + + + + + + + + See All + +
+ +
+ + + +
+ + +
+ + + + + + + + + +
+ + + +
+

+ Latest Market Momentum +

+ {#each rssFeedWIIM?.slice(0,5) as item} +
+
+
+ + {item?.text} +
+
+ {#each item?.stocks as item2} + + {/each} +
+ +
+ {#if latestInfoDate(item?.date)} + + · + {/if} + + {formatDate(item?.date)} ago + +
+ +
+
+ +
+
+ {/each} +
+ + + + + + +
+ + + + +
+ + +
+ + + + +
+ + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/src/routes/home/+page.ts b/src/routes/home/+page.ts index fd768da0..b74c938a 100644 --- a/src/routes/home/+page.ts +++ b/src/routes/home/+page.ts @@ -1,5 +1,82 @@ -import { redirect } from "@sveltejs/kit" -export const load = async () => { +import {userRegion, getCache, setCache } from '$lib/store'; +import { redirect } from '@sveltejs/kit'; - redirect(302, '/'); -} \ No newline at end of file + +const usRegion = ['cle1','iad1','pdx1','sfo1']; + +let apiURL; + +userRegion.subscribe(value => { + + if (usRegion.includes(value)) { + apiURL = import.meta.env.VITE_USEAST_API_URL; + } else { + apiURL = import.meta.env.VITE_EU_API_URL; + } +}); + + +export const load = async ({ parent}) => { + + const data = await parent(); + + if (!data?.user) { + redirect(303, '/'); + } + + const getDailyGainerLoserActive = async () => { + let output; + + // Get cached data for the specific tickerID + const cachedData = getCache('', 'getDailyGainerLoserActive'); + if (cachedData) { + output = cachedData; + } else { + + // make the POST request to the endpoint + const response = await fetch(apiURL + '/market-movers', { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, + }); + + output = await response.json(); + + setCache('', output, 'getDailyGainerLoserActive'); + } + + return output; + }; + + const getRssFeedWIIM = async () => { + let output; + + // Get cached data for the specific tickerID + const cachedData = getCache('', 'getRssFeedWIIM'); + if (cachedData) { + output = cachedData; + } else { + + // make the POST request to the endpoint + const response = await fetch(apiURL + '/rss-feed-wiim', { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, + }); + + output = await response.json(); + + setCache('', output, 'getRssFeedWIIM'); + } + + return output; + }; + + // Make sure to return a promise + return { + getDailyGainerLoserActive: await getDailyGainerLoserActive(), + getRssFeedWIIM: await getRssFeedWIIM(), + }; +}; \ No newline at end of file diff --git a/src/routes/pricing/+page.server.ts b/src/routes/pricing/+page.server.ts index dd05b5fd..c32b3490 100644 --- a/src/routes/pricing/+page.server.ts +++ b/src/routes/pricing/+page.server.ts @@ -2,6 +2,18 @@ import { error, fail, redirect } from "@sveltejs/kit"; import { validateData } from "$lib/utils"; import { loginUserSchema, registerUserSchema } from "$lib/schemas"; + + +export const load = ({ cookies }) => { + + const subscribeToPro = cookies?.get('pricing-model') + + return { + subscribeToPro: subscribeToPro ?? undefined, + }; + }; + + export const actions = { login: async ({ request, locals }) => { @@ -131,8 +143,8 @@ export const actions = { path: '/', maxAge: 60 }); - + redirect(302,authProviderRedirect); diff --git a/src/routes/pricing/+page.svelte b/src/routes/pricing/+page.svelte index 79b3f57a..3280187f 100644 --- a/src/routes/pricing/+page.svelte +++ b/src/routes/pricing/+page.svelte @@ -1,14 +1,11 @@