From ae2f584de88f0b0eb34ec270c9dfb109cab54938 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 4 Aug 2026 17:13:36 +0000 Subject: [PATCH] fix: keep the token scope builder inside its panel when scopes get long (#10517) * fix: keep the token scope builder inside its panel when scopes get long Co-Authored-By: Claude Opus 5 (1M context) * fix: label the scope path popover 'Add path' once paths exist Co-Authored-By: Claude Opus 5 (1M context) --------- Co-authored-by: Claude Opus 5 (1M context) --- .../lib/components/common/modal/Modal.svelte | 4 +- .../components/settings/CreateToken.svelte | 4 +- .../components/settings/ScopeSelector.svelte | 84 ++++++++----------- 3 files changed, 43 insertions(+), 49 deletions(-) diff --git a/frontend/src/lib/components/common/modal/Modal.svelte b/frontend/src/lib/components/common/modal/Modal.svelte index 0b365669a5..d718c3c1bd 100644 --- a/frontend/src/lib/components/common/modal/Modal.svelte +++ b/frontend/src/lib/components/common/modal/Modal.svelte @@ -138,7 +138,9 @@ > {/if}
-
+ +

{title}

{@render settings?.()} diff --git a/frontend/src/lib/components/settings/CreateToken.svelte b/frontend/src/lib/components/settings/CreateToken.svelte index 14920e96e9..444e245bee 100644 --- a/frontend/src/lib/components/settings/CreateToken.svelte +++ b/frontend/src/lib/components/settings/CreateToken.svelte @@ -173,7 +173,9 @@
-
+ +

{title}

{#if showMcpMode && !mcpOnly} diff --git a/frontend/src/lib/components/settings/ScopeSelector.svelte b/frontend/src/lib/components/settings/ScopeSelector.svelte index 91a62e65f7..a900d9a65d 100644 --- a/frontend/src/lib/components/settings/ScopeSelector.svelte +++ b/frontend/src/lib/components/settings/ScopeSelector.svelte @@ -1,7 +1,7 @@ + +{#snippet scopeChip(label: string, removeTitle: string, onRemove: (e: MouseEvent) => void)} + + {label} + + +{/snippet} +
{#if loading}
@@ -518,20 +537,7 @@ {:else}
{#each selectedScopes.slice(0, 10) as scope} - - {scope} - - + {@render scopeChip(scope, 'Remove scope', () => removeSelectedScope(scope))} {/each} {#if selectedScopes.length > 10} {#each selectedScopes as scope} - - {scope} - - + {@render scopeChip(scope, 'Remove scope', (e) => { + e.stopPropagation() + removeSelectedScope(scope) + })} {/each}
{#if domain.description} @@ -672,8 +665,15 @@ contentClasses="p-3" > {#snippet trigger()} - - + {@render scopeChip(path, 'Remove path', () => + removeResourcePath(scope.value, path) + )} {/each}
{/if}