From 75aea948bae82247a2bc094cf097fc1377d33ed4 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 2 Dec 2024 09:10:03 +0100 Subject: [PATCH] improve public app login fallback --- .../login_callback/[client_name]/+page.svelte | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/frontend/src/routes/user/login_callback/[client_name]/+page.svelte b/frontend/src/routes/user/login_callback/[client_name]/+page.svelte index 2e668b9d6c..2f770e222c 100644 --- a/frontend/src/routes/user/login_callback/[client_name]/+page.svelte +++ b/frontend/src/routes/user/login_callback/[client_name]/+page.svelte @@ -45,13 +45,7 @@ if (rd?.startsWith('http')) { if (closeUponLogin) { - if (window.opener) { - window.opener.postMessage({ type: 'success' }, '*') - window.close() - } else { - localStorage.setItem('oauth-success', 'true') - window.close() - } + closeUponLoginSuccess() return } window.location.href = rd @@ -77,13 +71,7 @@ if (allWorkspaces?.length == 1) { $workspaceStore = allWorkspaces[0].id if (closeUponLogin) { - if (window.opener) { - window.opener.postMessage({ type: 'success' }, '*') - window.close() - } else { - localStorage.setItem('oauth-success', 'true') - window.close() - } + closeUponLoginSuccess() return } if (rd) { @@ -95,7 +83,7 @@ } if (closeUponLogin) { - window.close() + closeUponLoginSuccess() return } @@ -124,6 +112,16 @@ } else { document.documentElement.classList.remove('dark') } + + function closeUponLoginSuccess() { + const message = { type: 'success' } + if (window.opener) { + window.opener.postMessage(message, '*') + } else { + localStorage.setItem('oauth-success', JSON.stringify(message)) + } + window.close() + }