From 32b3dcd943518cba4f1f5a82f9dbb5b906096500 Mon Sep 17 00:00:00 2001 From: acaldas <acaldas@powerhouse.inc> Date: Wed, 10 Apr 2024 12:46:40 +0100 Subject: [PATCH] feat: improved url handling --- .env | 2 +- src/hooks/useLogin.ts | 19 +++++++++++-------- src/services/renown/constants.ts | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 61dc09cc..9f8a13d2 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ VITE_DISABLED_EDITORS=powerhouse/document-drive -VITE_RENOWN_URL=http://localhost:3000 +# VITE_RENOWN_URL=http://localhost:3000 VITE_DEFAULT_DRIVE_URL=https://apps.powerhouse.io/makerdao/switchboard/d/monetalis VITE_BASE_HREF=/ ASSET_URL=/ diff --git a/src/hooks/useLogin.ts b/src/hooks/useLogin.ts index 6da4c379..89b042c4 100644 --- a/src/hooks/useLogin.ts +++ b/src/hooks/useLogin.ts @@ -14,19 +14,22 @@ export const useLogin = () => { const login = useCallback(async () => { const connectId = await did(); - const url = `${RENOWN_URL}?connect=${encodeURIComponent(connectId)}&network=${RENOWN_NETWORK_ID}`; + const url = new URL(RENOWN_URL); + url.searchParams.set('connect', connectId); + url.searchParams.set('network', RENOWN_NETWORK_ID); setStatus('checking'); if (window.electronAPI) { const protocol = await window.electronAPI.protocol(); - await window.electronAPI.openURL(`${url}&deeplink=${protocol}`); + url.searchParams.set('deeplink', protocol); + await window.electronAPI.openURL(url.toString()); } else { - window - .open( - `${url}&returnUrl=${encodeURIComponent(`${window.location.origin}${window.location.pathname}`)}`, - '_self', - ) - ?.focus(); + const returnUrl = new URL( + window.location.pathname, + window.location.origin, + ); + url.searchParams.set('returnUrl', returnUrl.toJSON()); + window.open(url, '_self')?.focus(); } }, [did]); diff --git a/src/services/renown/constants.ts b/src/services/renown/constants.ts index e7324920..bfed8af0 100644 --- a/src/services/renown/constants.ts +++ b/src/services/renown/constants.ts @@ -1,5 +1,5 @@ export const RENOWN_URL = - (import.meta.env.VITE_RENOWN_URL as string) || 'https://renown.vercel.app/'; + (import.meta.env.VITE_RENOWN_URL as string) || 'https://renown.vercel.app'; export const RENOWN_NETWORK_ID = (import.meta.env.VITE_RENOWN_NETWORK_ID as string) || '1';