-
+
{#if marked}
{@html marked}
{:else}
@@ -190,7 +189,7 @@
{/if}
{#if displayPath && path}
-
+
{path}
{/if}
@@ -198,7 +197,7 @@
{#if index === selected}
↵
{/if}
-
+
{/each}
diff --git a/frontend/src/lib/components/flows/propPicker/OutputPicker.svelte b/frontend/src/lib/components/flows/propPicker/OutputPicker.svelte
index d65582251e..0328bc18aa 100644
--- a/frontend/src/lib/components/flows/propPicker/OutputPicker.svelte
+++ b/frontend/src/lib/components/flows/propPicker/OutputPicker.svelte
@@ -160,6 +160,7 @@
class="flex-1 h-full"
bind:isOpen={inputOpen}
bind:this={inputPopover}
+ portal="#flow-graph-v2"
>
{#snippet trigger({ isOpen })}
diff --git a/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte b/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte
index 9950c3a339..6db83a4a0d 100644
--- a/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte
+++ b/frontend/src/lib/components/graph/renderers/nodes/InputNode.svelte
@@ -58,12 +58,8 @@
})
}}
>
- {#snippet trigger({ toggleOpen })}
-
+ {#snippet trigger()}
+
{/snippet}
diff --git a/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte b/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte
index 95408b7a7e..27390981eb 100644
--- a/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte
+++ b/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte
@@ -1,8 +1,6 @@
-
\ No newline at end of file
+
diff --git a/frontend/src/lib/components/icons/NextcloudIcon.svelte b/frontend/src/lib/components/icons/NextcloudIcon.svelte
index b2d778f667..b46775dbc7 100644
--- a/frontend/src/lib/components/icons/NextcloudIcon.svelte
+++ b/frontend/src/lib/components/icons/NextcloudIcon.svelte
@@ -1,19 +1,26 @@
+
+
diff --git a/frontend/src/lib/components/meltComponents/Popover.svelte b/frontend/src/lib/components/meltComponents/Popover.svelte
index 31ba34aa7f..0f1012cd76 100644
--- a/frontend/src/lib/components/meltComponents/Popover.svelte
+++ b/frontend/src/lib/components/meltComponents/Popover.svelte
@@ -43,6 +43,9 @@
let fullScreen = false
const dispatch = createEventDispatcher()
+ // Dynamic portal: use 'body' when fullscreen, otherwise use the provided portal
+ $: dynamicPortal = fullScreen ? 'body' : portal
+
function clearTimers() {
clearDebounceClose()
}
@@ -54,11 +57,11 @@
const {
elements: { trigger, content, arrow, close: closeElement, overlay },
states,
- options: { closeOnOutsideClick: closeOnOutsideClickOption, positioning },
+ options: { closeOnOutsideClick: closeOnOutsideClickOption, positioning, portal: portalOption },
ids: { content: popoverId }
} = createPopover({
forceVisible: true,
- portal,
+ portal: dynamicPortal,
disableFocusTrap,
escapeBehavior,
onOpenChange: ({ curr, next }) => {
@@ -87,8 +90,16 @@
$positioning = floatingConfig ?? {
placement,
strategy: 'absolute',
- x: undefined,
- y: undefined
+ gutter: 8,
+ overflowPadding: 16,
+ flip: true,
+ fitViewport: true,
+ overlap: false
+ }
+
+ // Update portal reactively when fullscreen state changes
+ $: if (portalOption) {
+ $portalOption = dynamicPortal
}
export let isOpen = false
@@ -171,7 +182,7 @@
use:melt={$content}
transition:fly={{ duration: enableFlyTransition ? 100 : 0, y: -16 }}
class={twMerge(
- 'relative border rounded-md bg-surface-tertiary shadow-lg',
+ 'relative dark:border rounded-md bg-surface-tertiary shadow-lg',
fullScreen
? `fixed !top-1/2 !left-1/2 !-translate-x-1/2 !-translate-y-1/2 !resize-none`
: 'w-fit',
@@ -189,11 +200,11 @@
{/if}
diff --git a/frontend/src/lib/components/sidebar/CriticalAlertModalInner.svelte b/frontend/src/lib/components/sidebar/CriticalAlertModalInner.svelte
index f66c836dfb..b0ec41bc9e 100644
--- a/frontend/src/lib/components/sidebar/CriticalAlertModalInner.svelte
+++ b/frontend/src/lib/components/sidebar/CriticalAlertModalInner.svelte
@@ -145,7 +145,7 @@
{`${totalNumberOfAlerts === 1000 ? '1000+' : (totalNumberOfAlerts ?? '?')} items`}
-
+