diff --git a/frontend/src/lib/components/AppConnectInner.svelte b/frontend/src/lib/components/AppConnectInner.svelte index 848fb69922..c444a47169 100644 --- a/frontend/src/lib/components/AppConnectInner.svelte +++ b/frontend/src/lib/components/AppConnectInner.svelte @@ -161,11 +161,14 @@ } function popupListener(event) { + console.log('popupListener', event.data, event.origin, window.location.origin) let data = event.data - if (event.origin !== window.location.origin) { + if (event.origin == null || event.origin !== window.location.origin) { return } + window.removeEventListener('message', popupListener) + if (data.type === 'error') { sendUserToast(event.data.error, true) step = 2 @@ -212,7 +215,7 @@ // if (!newPageOAuth) { // window.location.href = url.toString() // } else { - window.addEventListener('message', popupListener, { once: true }) + window.addEventListener('message', popupListener) window.open(url.toString(), '_blank', 'popup=true') step += 1 diff --git a/frontend/src/lib/components/Login.svelte b/frontend/src/lib/components/Login.svelte index b515a09b87..6714d52b0f 100644 --- a/frontend/src/lib/components/Login.svelte +++ b/frontend/src/lib/components/Login.svelte @@ -173,6 +173,7 @@ if (data.type === 'error') { sendUserToast(event.data.error, true) } else if (data.type === 'success') { + window.removeEventListener('message', popupListener) dispatch('login') } } @@ -187,7 +188,7 @@ let url = base + '/api/oauth/login/' + provider if (popup) { localStorage.setItem('closeUponLogin', 'true') - window.addEventListener('message', popupListener, { once: true }) + window.addEventListener('message', popupListener) window.open(url, '_blank', 'popup') } else { window.location.href = url diff --git a/frontend/src/lib/components/ResourcePicker.svelte b/frontend/src/lib/components/ResourcePicker.svelte index ed30620270..ba5a7c9db9 100644 --- a/frontend/src/lib/components/ResourcePicker.svelte +++ b/frontend/src/lib/components/ResourcePicker.svelte @@ -39,7 +39,7 @@ let collection = valueSelect ? [valueSelect] : [] export async function askNewResource() { - appConnect?.open?.(resourceType) + appConnect?.open?.(resourceType, expressOAuthSetup) } async function loadResources(resourceType: string | undefined) { diff --git a/frontend/src/lib/components/apps/components/inputs/AppUserResource.svelte b/frontend/src/lib/components/apps/components/inputs/AppUserResource.svelte index f196b11d45..847b1f2e43 100644 --- a/frontend/src/lib/components/apps/components/inputs/AppUserResource.svelte +++ b/frontend/src/lib/components/apps/components/inputs/AppUserResource.svelte @@ -15,6 +15,7 @@ import ResolveConfig from '../helpers/ResolveConfig.svelte' import ResolveStyle from '../helpers/ResolveStyle.svelte' import ResourcePicker from '$lib/components/ResourcePicker.svelte' + import { twMerge } from 'tailwind-merge' export let id: string export let configuration: RichConfigurations @@ -36,6 +37,15 @@ result: undefined as string | undefined }) + let css = initCss($app.css?.['userresourcecomponent'], customCss) + + $: classInput = twMerge( + 'windmillapp w-full px-2', + css?.input?.class ?? '', + 'wm-input', + 'wm-user-resource-select' + ) + let value: string | undefined = outputs.result.peak()?.replace('$res:', '') value && assignValue(outputs.result.peak()) @@ -66,8 +76,6 @@ } } - let css = initCss($app.css?.['userresourcecomponent'], customCss) - let resourcePicker: ResourcePicker | undefined = undefined @@ -93,7 +101,10 @@ {#if render} -
+