diff --git a/frontend/src/lib/components/DropdownV2.svelte b/frontend/src/lib/components/DropdownV2.svelte index ebdc1a2c22..2f0fd996b1 100644 --- a/frontend/src/lib/components/DropdownV2.svelte +++ b/frontend/src/lib/components/DropdownV2.svelte @@ -1,4 +1,4 @@ -
diff --git a/frontend/src/lib/components/apps/components/helpers/InputValue.svelte b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte index eed765c6fb..3af552e162 100644 --- a/frontend/src/lib/components/apps/components/helpers/InputValue.svelte +++ b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte @@ -222,7 +222,7 @@ function onTemplateChange(previousValueKey: string) { return (newValue) => { - console.log('onTemplateChange', previousValueKey, newValue, id) + // console.log('onTemplateChange', previousValueKey, newValue, id) previousConnectedValues[previousValueKey] = newValue debounceTemplate() } diff --git a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte index 28329374dc..731cf7e2fc 100644 --- a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte @@ -801,7 +801,8 @@ displayName: 'Public URL', icon: Globe, disabled: !secretUrlHref, - href: secretUrlHref + href: secretUrlHref, + hrefTarget: '_blank' }, // { // displayName: 'Publish to Hub', @@ -876,7 +877,7 @@ appExport?.open(toStatic($app, $staticExporter, $summary).app) } } - ]) + ]) as Item[] let appEditorTutorial: AppEditorTutorial | undefined = $state(undefined) diff --git a/frontend/src/lib/components/apps/editor/AppEditorTutorial.svelte b/frontend/src/lib/components/apps/editor/AppEditorTutorial.svelte index aadd8cf589..4cefe86ec1 100644 --- a/frontend/src/lib/components/apps/editor/AppEditorTutorial.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditorTutorial.svelte @@ -11,8 +11,8 @@ import ConfirmationModal from '$lib/components/common/confirmationModal/ConfirmationModal.svelte' import { isAppTainted } from '$lib/components/tutorials/utils' - let appTutorials: AppTutorials | undefined = undefined - let targetTutorial: string | undefined = undefined + let appTutorials: AppTutorials | undefined = $state(undefined) + let targetTutorial: string | undefined = $state(undefined) const { app } = getContext('AppViewerContext') @@ -81,7 +81,7 @@ {#key $tutorialsToDo} - + {#snippet buttonReplacement()} - + {#snippet buttonReplacement()}
@@ -66,7 +76,7 @@
- + {/snippet} {#if interval} diff --git a/frontend/src/lib/components/apps/editor/TabsDebug.svelte b/frontend/src/lib/components/apps/editor/TabsDebug.svelte index 6b9e190946..8d99fd8397 100644 --- a/frontend/src/lib/components/apps/editor/TabsDebug.svelte +++ b/frontend/src/lib/components/apps/editor/TabsDebug.svelte @@ -1,21 +1,32 @@ diff --git a/frontend/src/lib/components/common/button/Button.svelte b/frontend/src/lib/components/common/button/Button.svelte index 6fb57dde02..6915df9ab9 100644 --- a/frontend/src/lib/components/common/button/Button.svelte +++ b/frontend/src/lib/components/common/button/Button.svelte @@ -1,4 +1,7 @@
- {#if href && !disabled} - { - loading = true - dispatch('click', event) - if (!loadUntilNav) { - loading = false - } - }} - {href} - {download} - class={buttonClass} - {id} - {target} - tabindex={disabled ? -1 : 0} - {...$$restProps} - {style} - > - {#if loading} - - {:else if startIcon?.icon} - - {/if} + {#if href && !disabled} + { + loading = true + dispatch('click', event) + if (!loadUntilNav) { + loading = false + } + }} + {href} + {download} + class={buttonClass} + {id} + {target} + tabindex={disabled ? -1 : 0} + {...rest} + {style} + > + {#if loading} + + {:else if startIcon?.icon} + + {/if} - {#if !iconOnly} - - {/if} - {#if endIcon?.icon} - - {/if} - {#if shortCut && !shortCut.hide} -
- {#if shortCut.withoutModifier !== true}{getModifierKey()}{/if}{#if shortCut.Icon}{:else}{shortCut.key}{/if} -
- {/if} -
- {:else} - - {#if tooltipPopover && $open} -
- + {#if !iconOnly} + {@render children?.()} + {/if} + {#if endIcon?.icon} + + {/if} + {#if shortCut && !shortCut.hide} +
+ {#if shortCut.withoutModifier !== true}{getModifierKey()}{/if}{#if shortCut.Icon}{:else}{shortCut.key}{/if}
{/if} - {/if} + + {:else} + + {#if tooltipPopover && $open} +
+ {@render tooltip?.()} +
{/if} + {/if} + + {#if dropdownItems && dropdownItems.length > 0} + dispatch('dropdownOpen', true)} + on:close={() => dispatch('dropdownOpen', false)} + > + {#snippet buttonReplacement()} +
+ +
+ {/snippet} +
+ {/if}
diff --git a/frontend/src/lib/components/common/table/AppRow.svelte b/frontend/src/lib/components/common/table/AppRow.svelte index e8b3980d47..77ed26d1f5 100644 --- a/frontend/src/lib/components/common/table/AppRow.svelte +++ b/frontend/src/lib/components/common/table/AppRow.svelte @@ -33,20 +33,34 @@ import { isDeployable } from '$lib/utils_deployable' import { getDeployUiSettings } from '$lib/components/home/deploy_ui' - export let app: ListableApp & { has_draft?: boolean; draft_only?: boolean; canWrite: boolean } - export let marked: string | undefined - export let starred: boolean - export let shareModal: ShareModal - export let moveDrawer: MoveDrawer - export let deploymentDrawer: DeployWorkspaceDrawer - export let deleteConfirmedCallback: (() => void) | undefined - export let depth: number = 0 - export let menuOpen: boolean = false + interface Props { + app: ListableApp & { has_draft?: boolean; draft_only?: boolean; canWrite: boolean } + marked: string | undefined + starred: boolean + shareModal: ShareModal + moveDrawer: MoveDrawer + deploymentDrawer: DeployWorkspaceDrawer + deleteConfirmedCallback: (() => void) | undefined + depth?: number + menuOpen?: boolean + } + + let { + app, + marked, + starred, + shareModal, + moveDrawer, + deploymentDrawer, + deleteConfirmedCallback = $bindable(), + depth = 0, + menuOpen = $bindable(false) + }: Props = $props() const dispatch = createEventDispatcher() - let appExport: { open: (path: string) => void } | undefined = undefined - let appDeploymentHistory: AppDeploymentHistory | undefined = undefined + let appExport: { open: (path: string) => void } | undefined = $state(undefined) + let appDeploymentHistory: AppDeploymentHistory | undefined = $state(undefined) async function loadAppJson() { appExport?.open(app.path) @@ -72,7 +86,7 @@ canFavorite={!app.draft_only} {depth} > - + {#snippet badges()} {#if app.execution_mode == 'anonymous'}
@@ -92,8 +106,8 @@
- - + {/snippet} + {#snippet actions()} + {/snippet} diff --git a/frontend/src/lib/components/common/table/FlowRow.svelte b/frontend/src/lib/components/common/table/FlowRow.svelte index 6f9409ac9f..734b997e24 100644 --- a/frontend/src/lib/components/common/table/FlowRow.svelte +++ b/frontend/src/lib/components/common/table/FlowRow.svelte @@ -35,16 +35,31 @@ import FlowHistory from '$lib/components/flows/FlowHistory.svelte' import { getDeployUiSettings } from '$lib/components/home/deploy_ui' - export let flow: Flow & { has_draft?: boolean; draft_only?: boolean; canWrite: boolean } - export let marked: string | undefined - export let starred: boolean - export let shareModal: ShareModal - export let moveDrawer: MoveDrawer - export let deleteConfirmedCallback: (() => void) | undefined - export let deploymentDrawer: DeployWorkspaceDrawer - export let errorHandlerMuted: boolean - export let depth: number = 0 - export let menuOpen: boolean = false + interface Props { + flow: Flow & { has_draft?: boolean; draft_only?: boolean; canWrite: boolean } + marked: string | undefined + starred: boolean + shareModal: ShareModal + moveDrawer: MoveDrawer + deleteConfirmedCallback: (() => void) | undefined + deploymentDrawer: DeployWorkspaceDrawer + errorHandlerMuted: boolean + depth?: number + menuOpen?: boolean + } + + let { + flow, + marked, + starred, + shareModal, + moveDrawer, + deleteConfirmedCallback = $bindable(), + deploymentDrawer, + errorHandlerMuted, + depth = 0, + menuOpen = $bindable(false) + }: Props = $props() const dispatch = createEventDispatcher() @@ -71,8 +86,8 @@ sendUserToast(`Could not delete this flow ${err.body}`, true) } } - let scheduleEditor: ScheduleEditor - let flowHistory: FlowHistory + let scheduleEditor: ScheduleEditor | undefined = $state(undefined) + let flowHistory: FlowHistory | undefined = $state(undefined) {#if menuOpen} @@ -97,15 +112,15 @@ canFavorite={!flow.draft_only} {depth} > - + {#snippet badges()} {#if flow.archived} archived {/if}
-
- + {/snippet} + {#snippet actions()} + {/snippet} diff --git a/frontend/src/lib/components/common/table/RawAppRow.svelte b/frontend/src/lib/components/common/table/RawAppRow.svelte index 8f84ba3bd7..143b1beb8e 100644 --- a/frontend/src/lib/components/common/table/RawAppRow.svelte +++ b/frontend/src/lib/components/common/table/RawAppRow.svelte @@ -18,17 +18,31 @@ import { isDeployable } from '$lib/utils_deployable' import { getDeployUiSettings } from '$lib/components/home/deploy_ui' - export let app: ListableRawApp & { canWrite: boolean } - export let marked: string | undefined - export let starred: boolean - export let shareModal: ShareModal - export let moveDrawer: MoveDrawer - export let deleteConfirmedCallback: (() => void) | undefined - export let deploymentDrawer: DeployWorkspaceDrawer - export let depth: number = 0 - export let menuOpen: boolean = false + interface Props { + app: ListableRawApp & { canWrite: boolean } + marked: string | undefined + starred: boolean + shareModal: ShareModal + moveDrawer: MoveDrawer + deleteConfirmedCallback: (() => void) | undefined + deploymentDrawer: DeployWorkspaceDrawer + depth?: number + menuOpen?: boolean + } - let updateAppDrawer: Drawer + let { + app, + marked, + starred, + shareModal, + moveDrawer, + deleteConfirmedCallback = $bindable(), + deploymentDrawer, + depth = 0, + menuOpen = $bindable(false) + }: Props = $props() + + let updateAppDrawer: Drawer | undefined = $state(undefined) const dispatch = createEventDispatcher() @@ -66,10 +80,10 @@ canFavorite={true} {depth} > - + {#snippet badges()} - - + {/snippet} + {#snippet actions()} + {/snippet} diff --git a/frontend/src/lib/components/common/table/Row.svelte b/frontend/src/lib/components/common/table/Row.svelte index 388c29845b..293f3ff65f 100644 --- a/frontend/src/lib/components/common/table/Row.svelte +++ b/frontend/src/lib/components/common/table/Row.svelte @@ -7,26 +7,55 @@ import { goto } from '$lib/navigation' import { triggerableByAI } from '$lib/actions/triggerableByAI' - export let marked: string | undefined - export let starred: boolean - export let canFavorite: boolean = true - export let errorHandlerMuted: boolean = false - const dispatch = createEventDispatcher() - export let aiId: string | undefined = undefined - export let aiDescription: string | undefined = undefined - export let kind: 'script' | 'flow' | 'app' | 'raw_app' = 'script' - export let summary: string | undefined = undefined - export let path: string - export let href: string - export let workspaceId: string - export let depth: number = 0 + interface Props { + marked: string | undefined + starred: boolean + canFavorite?: boolean + errorHandlerMuted?: boolean + aiId?: string | undefined + aiDescription?: string | undefined + kind?: 'script' | 'flow' | 'app' | 'raw_app' + summary?: string | undefined + path: string + href: string + workspaceId: string + depth?: number + badges?: import('svelte').Snippet + actions?: import('svelte').Snippet + } + + let { + marked, + starred, + canFavorite = true, + errorHandlerMuted = false, + aiId = undefined, + aiDescription = undefined, + kind = 'script', + summary = undefined, + path, + href, + workspaceId, + depth = 0, + badges, + actions + }: Props = $props() let displayPath: string = (depth === 0 ? path : path?.split('/')?.slice(-1)?.[0]) ?? '' -
{ goto(href) }}}>
+
{ + goto(href) + } + }} +>
{/if} - {#if $$slots.badges} + {#if badges} {/if} @@ -79,6 +108,6 @@ {/if}
- + {@render actions?.()}
diff --git a/frontend/src/lib/components/common/table/ScriptRow.svelte b/frontend/src/lib/components/common/table/ScriptRow.svelte index babc5cf1ea..2d2486295f 100644 --- a/frontend/src/lib/components/common/table/ScriptRow.svelte +++ b/frontend/src/lib/components/common/table/ScriptRow.svelte @@ -42,17 +42,33 @@ import Tooltip from '$lib/components/Tooltip.svelte' import { getDeployUiSettings } from '$lib/components/home/deploy_ui' - export let script: Script & { canWrite: boolean; use_codebase: boolean } - export let marked: string | undefined - export let starred: boolean - export let shareModal: ShareModal - export let moveDrawer: MoveDrawer - export let deploymentDrawer: DeployWorkspaceDrawer - export let deleteConfirmedCallback: (() => void) | undefined - export let errorHandlerMuted: boolean - export let showCode: (path: string, summary: string) => void - export let depth: number = 0 - export let menuOpen: boolean = false + interface Props { + script: Script & { canWrite: boolean; use_codebase: boolean } + marked: string | undefined + starred: boolean + shareModal: ShareModal + moveDrawer: MoveDrawer + deploymentDrawer: DeployWorkspaceDrawer + deleteConfirmedCallback: (() => void) | undefined + errorHandlerMuted: boolean + showCode: (path: string, summary: string) => void + depth?: number + menuOpen?: boolean + } + + let { + script, + marked, + starred, + shareModal, + moveDrawer, + deploymentDrawer, + deleteConfirmedCallback = $bindable(), + errorHandlerMuted, + showCode, + depth = 0, + menuOpen = $bindable(false) + }: Props = $props() const dispatch = createEventDispatcher() @@ -81,10 +97,10 @@ dispatch('change') sendUserToast(`Deleted script ${path}`) } - let scheduleEditor: ScheduleEditor + let scheduleEditor: ScheduleEditor | undefined = $state(undefined) const dlt: 'delete' = 'delete' - let versionsDrawerOpen: boolean = false + let versionsDrawerOpen: boolean = $state(false) {#if menuOpen} @@ -108,7 +124,7 @@ canFavorite={!script.draft_only} {depth} > - + {#snippet badges()} {#if script.lock_error_logs} Deployment failed {/if} @@ -128,9 +144,9 @@
-
+ {/snippet} - + {#snippet actions()} + {/snippet} {#if script} diff --git a/frontend/src/lib/components/common/toggleButton-v2/ToggleButtonMore.svelte b/frontend/src/lib/components/common/toggleButton-v2/ToggleButtonMore.svelte index 74fe33ec9e..a98061dae2 100644 --- a/frontend/src/lib/components/common/toggleButton-v2/ToggleButtonMore.svelte +++ b/frontend/src/lib/components/common/toggleButton-v2/ToggleButtonMore.svelte @@ -4,18 +4,30 @@ import DropdownV2 from '$lib/components/DropdownV2.svelte' import ToggleButton from '$lib/components/common/toggleButton-v2/ToggleButton.svelte' - export let disabled: boolean = false - export let small = false - export let light = false - export let id: string | undefined = undefined - export let item: any | undefined = undefined - export let selected: string | undefined = undefined type TogglableItem = { label: string value: string } - export let togglableItems: TogglableItem[] + interface Props { + disabled?: boolean + small?: boolean + light?: boolean + id?: string | undefined + item?: any | undefined + selected?: string | undefined + togglableItems: TogglableItem[] + } + + let { + disabled = false, + small = false, + light = false, + id = undefined, + item = undefined, + selected = $bindable(undefined), + togglableItems + }: Props = $props() function select(v: string) { selected = v diff --git a/frontend/src/lib/components/details/DetailPageHeader.svelte b/frontend/src/lib/components/details/DetailPageHeader.svelte index 20fb3ff693..42eda23ff5 100644 --- a/frontend/src/lib/components/details/DetailPageHeader.svelte +++ b/frontend/src/lib/components/details/DetailPageHeader.svelte @@ -23,16 +23,31 @@ color?: 'red' } - const { triggersCount, triggersState } = getContext('TriggerContext') + const { triggersCount, triggersState } = $state(getContext('TriggerContext')) - export let mainButtons: MainButton[] = [] - export let menuItems: MenuItemButton[] = [] - export let title: string - export let tag: string | undefined + interface Props { + mainButtons?: MainButton[] + menuItems?: MenuItemButton[] + title: string + tag: string | undefined + errorHandlerKind: 'flow' | 'script' + scriptOrFlowPath: string + errorHandlerMuted: boolean | undefined + children?: import('svelte').Snippet + trigger_badges?: import('svelte').Snippet + } - export let errorHandlerKind: 'flow' | 'script' - export let scriptOrFlowPath: string - export let errorHandlerMuted: boolean | undefined + let { + mainButtons = [], + menuItems = [], + title, + tag, + errorHandlerKind, + scriptOrFlowPath, + errorHandlerMuted = $bindable(), + children, + trigger_badges + }: Props = $props() const dispatch = createEventDispatcher() @@ -51,7 +66,7 @@
{#if tag} tag: {tag} {/if} - + {@render children?.()} {#if triggersState?.triggers?.some((t) => t.isPrimary && !t.isDraft)} {@const primarySchedule = triggersState.triggers.findIndex( (t) => t.isPrimary && !t.isDraft @@ -71,7 +86,7 @@ {$triggersCount?.primary_schedule?.schedule ?? ''} {/if} - + {@render trigger_badges?.()}
{#if menuItems.length > 0} diff --git a/frontend/src/lib/components/flows/CreateActionsFlow.svelte b/frontend/src/lib/components/flows/CreateActionsFlow.svelte index 7072459f42..1671a84e5b 100644 --- a/frontend/src/lib/components/flows/CreateActionsFlow.svelte +++ b/frontend/src/lib/components/flows/CreateActionsFlow.svelte @@ -10,12 +10,13 @@ import { Loader2, Plus } from 'lucide-svelte' import YAML from 'yaml' - let drawer: Drawer | undefined = undefined - let pendingRaw: string - let importType: 'yaml' | 'json' = 'yaml' + let drawer: Drawer | undefined = $state(undefined) + let pendingRaw: string | undefined = $state(undefined) + let importType: 'yaml' | 'json' = $state('yaml') async function importRaw() { - $importFlowStore = importType === 'yaml' ? YAML.parse(pendingRaw) : JSON.parse(pendingRaw) + $importFlowStore = + importType === 'yaml' ? YAML.parse(pendingRaw ?? '') : JSON.parse(pendingRaw ?? '') await goto('/flows/add') drawer?.closeDrawer?.() } diff --git a/frontend/src/lib/components/flows/map/FlowJobsMenu.svelte b/frontend/src/lib/components/flows/map/FlowJobsMenu.svelte index 558564c06c..765f825c94 100644 --- a/frontend/src/lib/components/flows/map/FlowJobsMenu.svelte +++ b/frontend/src/lib/components/flows/map/FlowJobsMenu.svelte @@ -148,7 +148,7 @@ items[idx].success == false ? 'text-red-400' : '', 'data-[highlighted]:bg-surface-hover' )} - on:click={() => { + onClick={() => { onSelectedIteration({ moduleId: moduleId, index: items[idx].index, diff --git a/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte b/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte index 070b9166fd..c45ec03615 100644 --- a/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte +++ b/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte @@ -295,7 +295,7 @@ { + onClick={() => { onSelect?.(triggerIndex) }} > diff --git a/frontend/src/lib/components/meltComponents/MenuItem.svelte b/frontend/src/lib/components/meltComponents/MenuItem.svelte index ce7e7aa989..39ff03199f 100644 --- a/frontend/src/lib/components/meltComponents/MenuItem.svelte +++ b/frontend/src/lib/components/meltComponents/MenuItem.svelte @@ -3,15 +3,36 @@ import type { MenubarMenuElements } from '@melt-ui/svelte' import { triggerableByAI } from '$lib/actions/triggerableByAI' - export let aiId: string | undefined = undefined - export let aiDescription: string | undefined = undefined - export let href: string | undefined = undefined - export let disabled: boolean = false - export let target: string | undefined = undefined - export let item: MenubarMenuElements['item'] + interface Props { + aiId?: string | undefined + aiDescription?: string | undefined + href?: string | undefined + disabled?: boolean + target?: string | undefined + item: MenubarMenuElements['item'] + class?: string | undefined + onClick?: (event: MouseEvent) => void + children?: import('svelte').Snippet + onFocusIn?: (event: FocusEvent) => void + onFocusOut?: (event: FocusEvent) => void + } - let aRef: HTMLAnchorElement | undefined = undefined - let buttonRef: HTMLButtonElement | undefined = undefined + let { + aiId = undefined, + aiDescription = undefined, + href = undefined, + disabled = false, + target = undefined, + item, + class: classNames = undefined, + children, + onClick, + onFocusIn, + onFocusOut + }: Props = $props() + + let aRef: HTMLAnchorElement | undefined = $state(undefined) + let buttonRef: HTMLButtonElement | undefined = $state(undefined) {#if href} @@ -26,20 +47,20 @@ } }} {href} - class={$$props.class} + class={classNames} role="menuitem" aria-disabled={disabled} tabindex={disabled ? -1 : undefined} {target} - on:m-focusin - on:m-focusout + onfocusin={onFocusIn} + onfocusout={onFocusOut} > - + {@render children?.()} {:else} {/if} diff --git a/frontend/src/lib/components/sidebar/OperatorMenu.svelte b/frontend/src/lib/components/sidebar/OperatorMenu.svelte index 87c6e9ba01..557a516d6e 100644 --- a/frontend/src/lib/components/sidebar/OperatorMenu.svelte +++ b/frontend/src/lib/components/sidebar/OperatorMenu.svelte @@ -219,7 +219,7 @@
{ + onClick={() => { if (!document.documentElement.classList.contains('dark')) { document.documentElement.classList.add('dark') window.localStorage.setItem('dark-mode', 'dark') @@ -244,7 +244,7 @@ { + onClick={() => { localStorage.removeItem('workspace') }} class={twMerge( @@ -274,7 +274,7 @@ {/if} logout()} + onClick={() => logout()} class={twMerge( 'flex flex-row gap-3.5 items-center px-2 py-2 w-full', 'text-secondary text-xs', @@ -293,8 +293,8 @@ role="none" > debouncedSetMoreOpen(true)} - on:m-focusout={() => debouncedSetMoreOpen(false)} + onFocusIn={() => debouncedSetMoreOpen(true)} + onFocusOut={() => debouncedSetMoreOpen(false)} {item} > {#if !moreOpen || secondMenuLinks.length === 0} @@ -311,8 +311,8 @@ 'data-[highlighted]:bg-surface-hover data-[highlighted]:text-primary' )} {item} - on:m-focusin={() => debouncedSetMoreOpen(true)} - on:m-focusout={() => debouncedSetMoreOpen(false)} + onFocusIn={() => debouncedSetMoreOpen(true)} + onFocusOut={() => debouncedSetMoreOpen(false)} > {menuLink.label} diff --git a/frontend/src/lib/components/sidebar/SidebarContent.svelte b/frontend/src/lib/components/sidebar/SidebarContent.svelte index 5399a3490e..912fcab06f 100644 --- a/frontend/src/lib/components/sidebar/SidebarContent.svelte +++ b/frontend/src/lib/components/sidebar/SidebarContent.svelte @@ -510,7 +510,7 @@ class={itemClass} href={subItem.href} {item} - on:click={() => { + onClick={() => { subItem?.['action']?.() }} aiId={subItem.aiId} diff --git a/frontend/src/lib/components/sidebar/UserMenu.svelte b/frontend/src/lib/components/sidebar/UserMenu.svelte index a43257dbfd..547818747b 100644 --- a/frontend/src/lib/components/sidebar/UserMenu.svelte +++ b/frontend/src/lib/components/sidebar/UserMenu.svelte @@ -66,7 +66,7 @@ { + onClick={() => { if (!document.documentElement.classList.contains('dark')) { document.documentElement.classList.add('dark') window.localStorage.setItem('dark-mode', 'dark') @@ -87,7 +87,7 @@ logout()} + onClick={() => logout()} class={twMerge(itemClass, 'text-primary font-semibold')} {item} > @@ -124,7 +124,7 @@ {#if $userStore?.is_admin} { + onClick={() => { goto('/workspace_settings?tab=premium') }} {item} @@ -135,7 +135,7 @@ {:else} { + onClick={() => { goto('/workspace_settings?tab=premium') }} {item} diff --git a/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte b/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte index 027be8a7e9..d7a3d52a9c 100644 --- a/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte +++ b/frontend/src/lib/components/sidebar/WorkspaceMenu.svelte @@ -81,7 +81,7 @@ ? 'cursor-default bg-surface-selected' : 'cursor-pointer hover:bg-surface-hover data-[highlighted]:bg-surface-hover' )} - on:click={async () => { + onClick={async () => { await toggleSwitchWorkspace(workspace.id) }} {item} @@ -123,7 +123,7 @@
{ + onClick={() => { localStorage.removeItem('workspace') }} class={twMerge( @@ -169,7 +169,7 @@ 'text-secondary block font-normal w-full text-left px-4 py-2 text-sm hover:bg-gray-100 hover:text-gray-900', 'data-[highlighted]:bg-gray-100 data-[highlighted]:text-gray-900' )} - on:click={() => { + onClick={() => { goto('/workspace_settings?tab=premium') }} {item} diff --git a/frontend/src/lib/components/triggers/schedules/ScheduleEditorInner.svelte b/frontend/src/lib/components/triggers/schedules/ScheduleEditorInner.svelte index d1baf41444..c4b86a01bd 100644 --- a/frontend/src/lib/components/triggers/schedules/ScheduleEditorInner.svelte +++ b/frontend/src/lib/components/triggers/schedules/ScheduleEditorInner.svelte @@ -975,7 +975,6 @@ {/snippet} {#snippet action()}
- defaults - {#snippet children()} + {#snippet buttonReplacement()} Set as default {/snippet} @@ -1091,7 +1090,7 @@ } ]} > - {#snippet children()} + {#snippet buttonReplacement()} Set as default {/snippet} @@ -1182,7 +1181,7 @@ } ]} > - {#snippet children()} + {#snippet buttonReplacement()} Set as default {/snippet} diff --git a/frontend/src/lib/utils.ts b/frontend/src/lib/utils.ts index f232bd4b95..fddc60faee 100644 --- a/frontend/src/lib/utils.ts +++ b/frontend/src/lib/utils.ts @@ -1250,6 +1250,7 @@ export type Item = { icon?: any iconColor?: string href?: string + hrefTarget?: '_blank' | '_self' | '_parent' | '_top' disabled?: boolean type?: 'action' | 'delete' hide?: boolean | undefined diff --git a/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte index 926b1f3d7e..d055902626 100644 --- a/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte @@ -446,7 +446,7 @@ tag={flow.tag} > - + {#snippet trigger_badges()} - + {/snippet} {#if $workspaceStore} { groups = (await GroupService.listGroups({ workspace: $workspaceStore! })).map((x) => { @@ -56,17 +57,17 @@ }) loadGroups() editGroupName = newGroupName - groupDrawer.openDrawer() + groupDrawer?.openDrawer() } - $: { - loadInstanceGroups() + $effect(() => { + untrack(() => loadInstanceGroups()) if ($workspaceStore && $userStore) { - loadGroups() + untrack(() => loadGroups()) } - } + }) - let editGroupName: string = '' + let editGroupName: string = $state('') @@ -93,14 +94,14 @@ floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }} containerClasses="border rounded-lg shadow-lg p-4 bg-surface" > - + {#snippet trigger()} - - + {/snippet} + {#snippet content({ close })}
handleKeyUp(e, close)} + onkeyup={(e) => handleKeyUp(e, close)} placeholder="New group name" bind:value={newGroupName} /> @@ -116,7 +117,7 @@ Create
-
+ {/snippet}
@@ -146,7 +147,7 @@ hoverable on:click={() => { editGroupName = name - groupDrawer.openDrawer() + groupDrawer?.openDrawer() }} > @@ -174,7 +175,7 @@ action: (e) => { e?.stopPropagation() editGroupName = name - groupDrawer.openDrawer() + groupDrawer?.openDrawer() } }, { @@ -206,27 +207,30 @@ />
+ Name Members - - {#each instanceGroups as { name, emails }} - - - { - editGroupName = name - groupDrawer.openDrawer() - }} - >{name} - - - {emails?.length ?? 0} members - - {/each} - + {#snippet body()} + + {#each instanceGroups ?? [] as { name, emails }} + + + { + editGroupName = name + groupDrawer?.openDrawer() + }} + >{name} + + + {emails?.length ?? 0} members + + {/each} + + {/snippet}
{/if} diff --git a/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte index 4d88c4256b..9f678e7be6 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/get/[...hash]/+page.svelte @@ -564,12 +564,11 @@ rightPaneSelected = 'triggers' }} > - - + {#snippet trigger_badges()} - + {/snippet} {#if $workspaceStore}