From e0186959b106bc137b2a42669e7f564d82bccee1 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Thu, 19 Sep 2024 19:38:01 +0200 Subject: [PATCH] fix redirecting user correctly to the correct backend location --- src/hooks.server.ts | 7 +------ src/lib/components/BuyTrade.svelte | 6 ++---- src/lib/components/ExecutiveCard.svelte | 4 +--- src/lib/components/Feedback.svelte | 7 ++++--- src/lib/components/SECFilingsCard.svelte | 3 +-- src/lib/components/SellTrade.svelte | 5 +---- src/lib/components/TagSearchbar.svelte | 3 +-- src/lib/pocketbase.ts | 6 +++--- src/lib/tracker.ts | 4 +--- src/routes/+layout.server.ts | 4 ++-- src/routes/+layout.svelte | 2 +- src/routes/portfolio/+page.svelte | 14 +------------- 12 files changed, 19 insertions(+), 46 deletions(-) diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 813f2031..84459353 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -3,11 +3,6 @@ import PocketBase from "pocketbase"; import { serializeNonPOJOs } from "$lib/utils"; export const handle = sequence(async ({ event, resolve }) => { - // Use optional chaining and nullish coalescing for safer property access - const regionHeader = - event?.request?.headers?.get("x-vercel-id") ?? - "fra1::fra1::8t4xg-1700258428633-157d82fdfcc7"; - const ip = event.request.headers.get("x-forwarded-for") || event.request.headers.get("remote-address"); @@ -38,7 +33,7 @@ export const handle = sequence(async ({ event, resolve }) => { : import.meta.env.VITE_EU_WS_URL; event.locals = { - region: decodeURIComponent(regionHeader), + isUSRegion: isUS, pb: new PocketBase(pbURL), apiURL, fastifyURL, diff --git a/src/lib/components/BuyTrade.svelte b/src/lib/components/BuyTrade.svelte index ae94a12b..6b165d23 100644 --- a/src/lib/components/BuyTrade.svelte +++ b/src/lib/components/BuyTrade.svelte @@ -5,13 +5,11 @@ export let data; export let availableCash; export let holdingShares; - - const usRegion = ['cle1','iad1','pdx1','sfo1']; - + let fastifyURL; userRegion.subscribe(value => { - if (usRegion.includes(value)) { + if (value) { fastifyURL = import.meta.env.VITE_USEAST_FASTIFY_URL; } else { fastifyURL = import.meta.env.VITE_EU_FASTIFY_URL; diff --git a/src/lib/components/ExecutiveCard.svelte b/src/lib/components/ExecutiveCard.svelte index d0f5b532..93e6abe3 100644 --- a/src/lib/components/ExecutiveCard.svelte +++ b/src/lib/components/ExecutiveCard.svelte @@ -7,14 +7,12 @@ let executiveList = []; -const usRegion = ['cle1','iad1','pdx1','sfo1']; - let apiURL; let apiKey = import.meta.env.VITE_STOCKNEAR_API_KEY; userRegion?.subscribe(value => { -if (usRegion?.includes(value)) { +if (value) { apiURL = import.meta.env.VITE_USEAST_API_URL; } else { apiURL = import.meta.env.VITE_EU_API_URL; diff --git a/src/lib/components/Feedback.svelte b/src/lib/components/Feedback.svelte index 2ec5a046..6a24415a 100644 --- a/src/lib/components/Feedback.svelte +++ b/src/lib/components/Feedback.svelte @@ -37,7 +37,10 @@ }); return; } - + + const closePopup = document.getElementById('feedbackInfo'); + closePopup?.dispatchEvent(new MouseEvent('click')) + const userId = data?.user?.id ?? ''; const postData = {'user': userId, @@ -65,8 +68,6 @@ style: 'border-radius: 200px; background: #333; color: #fff;'}); } - const closePopup = document.getElementById('feedbackInfo'); - closePopup?.dispatchEvent(new MouseEvent('click')) rating = ''; diff --git a/src/lib/components/SECFilingsCard.svelte b/src/lib/components/SECFilingsCard.svelte index 6971828c..4440fb7e 100644 --- a/src/lib/components/SECFilingsCard.svelte +++ b/src/lib/components/SECFilingsCard.svelte @@ -6,14 +6,13 @@ import { fade } from 'svelte/transition'; let secFilingsList; -const usRegion = ['cle1','iad1','pdx1','sfo1']; let apiURL; let apiKey = import.meta.env.VITE_STOCKNEAR_API_KEY; userRegion?.subscribe(value => { -if (usRegion?.includes(value)) { +if (value) { apiURL = import.meta.env.VITE_USEAST_API_URL; } else { apiURL = import.meta.env.VITE_EU_API_URL; diff --git a/src/lib/components/SellTrade.svelte b/src/lib/components/SellTrade.svelte index 41b8a99d..fb01a97f 100644 --- a/src/lib/components/SellTrade.svelte +++ b/src/lib/components/SellTrade.svelte @@ -8,13 +8,10 @@ export let holdingShares; - -const usRegion = ['cle1','iad1','pdx1','sfo1']; - let fastifyURL; userRegion.subscribe(value => { - if (usRegion.includes(value)) { + if (value) { fastifyURL = import.meta.env.VITE_USEAST_FASTIFY_URL; } else { fastifyURL = import.meta.env.VITE_EU_FASTIFY_URL; diff --git a/src/lib/components/TagSearchbar.svelte b/src/lib/components/TagSearchbar.svelte index 3505f635..efabf908 100644 --- a/src/lib/components/TagSearchbar.svelte +++ b/src/lib/components/TagSearchbar.svelte @@ -2,13 +2,12 @@ import { userRegion, searchBarData, stockTicker, etfTicker, screenWidth} from '$lib/store'; - const usRegion = ['cle1','iad1','pdx1','sfo1']; let apiURL; let apiKey = import.meta.env.VITE_STOCKNEAR_API_KEY; userRegion.subscribe(value => { - if (usRegion.includes(value)) { + if (value) { apiURL = import.meta.env.VITE_USEAST_API_URL; } else { apiURL = import.meta.env.VITE_EU_API_URL; diff --git a/src/lib/pocketbase.ts b/src/lib/pocketbase.ts index 07eb11bd..6330ea02 100644 --- a/src/lib/pocketbase.ts +++ b/src/lib/pocketbase.ts @@ -1,15 +1,15 @@ import PocketBase from "pocketbase"; import { userRegion } from "$lib/store"; -const usRegion = ["cle1", "iad1", "pdx1", "sfo1"]; - let pbUrl; userRegion.subscribe((value) => { - if (usRegion?.includes(value)) { + if (value) { pbUrl = import.meta.env.VITE_USEAST_POCKETBASE_URL; + console.log("US region for pocketbase"); } else { pbUrl = import.meta.env.VITE_EU_POCKETBASE_URL; + console.log("EU region for pocketbase"); } }); diff --git a/src/lib/tracker.ts b/src/lib/tracker.ts index 02858734..9cdd6d93 100644 --- a/src/lib/tracker.ts +++ b/src/lib/tracker.ts @@ -1,11 +1,9 @@ import { userRegion } from "$lib/store"; -const usRegion = ["cle1", "iad1", "pdx1", "sfo1"]; - let fastifyURL = import.meta.env.VITE_EU_FASTIFY_URL; userRegion.subscribe((value) => { - if (usRegion.includes(value)) { + if (value) { fastifyURL = import.meta.env.VITE_USEAST_FASTIFY_URL; } else { fastifyURL = import.meta.env.VITE_EU_FASTIFY_URL; diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts index b8427655..75de40c0 100644 --- a/src/routes/+layout.server.ts +++ b/src/routes/+layout.server.ts @@ -1,9 +1,9 @@ export const load = ({ locals, cookies }) => { - const { user, region, apiURL, fastifyURL, wsURL, apiKey } = locals; + const { user, isUSRegion, apiURL, fastifyURL, wsURL, apiKey } = locals; return { user: user || undefined, - region, + isUSRegion, cookieConsent: cookies?.get("cookie-consent"), apiURL, fastifyURL, diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 47432245..05adabfd 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -78,7 +78,7 @@ async function detectSWUpdate() { }) } - $userRegion = data?.region?.split("::")[0]; + $userRegion = data?.isUSRegion let hideHeader = false; diff --git a/src/routes/portfolio/+page.svelte b/src/routes/portfolio/+page.svelte index 8f9e32e8..ce9f10c9 100644 --- a/src/routes/portfolio/+page.svelte +++ b/src/routes/portfolio/+page.svelte @@ -13,18 +13,6 @@ let cloudFrontUrl = import.meta.env.VITE_IMAGE_URL; - - - const usRegion = ['cle1','iad1','pdx1','sfo1']; -let fastifyURL = import.meta.env.VITE_EU_FASTIFY_URL; // Set a default FASTIFY URL -userRegion.subscribe(value => { -if (usRegion.includes(value)) { - fastifyURL = import.meta.env.VITE_USEAST_FASTIFY_URL; -} else { - fastifyURL = import.meta.env.VITE_EU_FASTIFY_URL; -} -}); - let isLoaded = false; @@ -34,7 +22,7 @@ if (usRegion.includes(value)) { { const postData = {'userId': data?.user?.id}; - const response = await fetch(fastifyURL+'/get-portfolio', { + const response = await fetch(data?.fastifyURL+'/get-portfolio', { method: 'POST', headers: { "Content-Type": "application/json"