From 06aec14333acd09e5c85c2664f08f939d2ebac2e Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Tue, 2 Dec 2025 14:11:42 +0100 Subject: [PATCH] Go to settings button in Assets Dropdown on not found --- .../lib/components/ExploreAssetButton.svelte | 1 + .../lib/components/assets/AssetButtons.svelte | 43 ++++++++++++++----- .../assets/AssetsDropdownButton.svelte | 22 +++++++++- 3 files changed, 54 insertions(+), 12 deletions(-) diff --git a/frontend/src/lib/components/ExploreAssetButton.svelte b/frontend/src/lib/components/ExploreAssetButton.svelte index c8bd5226f9..c4bfa7313a 100644 --- a/frontend/src/lib/components/ExploreAssetButton.svelte +++ b/frontend/src/lib/components/ExploreAssetButton.svelte @@ -54,6 +54,7 @@ unifiedSize={'md'} variant={buttonVariant} wrapperClasses={className} + iconOnly {btnClasses} on:click={async () => { if (asset.kind === 'resource' && isDbType(_resourceMetadata?.resource_type)) { diff --git a/frontend/src/lib/components/assets/AssetButtons.svelte b/frontend/src/lib/components/assets/AssetButtons.svelte index e429b1664f..57a8c837fa 100644 --- a/frontend/src/lib/components/assets/AssetButtons.svelte +++ b/frontend/src/lib/components/assets/AssetButtons.svelte @@ -1,12 +1,12 @@ @@ -30,20 +34,39 @@ {#if asset.kind === 'resource' && resourceDataCache[asset.path] !== undefined} + {:else if datatableNotFound} + + {:else if asset.kind === 'resource' && resourceDataCache[asset.path] === undefined} + + {/if} + + + {:else if assetCanBeExplored(asset, { resource_type: resourceDataCache[asset.path] })} + WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }) + ) + let ducklakes = resource([], () => + WorkspaceService.listDucklakes({ workspace: $workspaceStore ?? '' }) + ) + $effect(() => { assets untrack(() => { @@ -97,7 +105,7 @@ class={twMerge( size === '3xs' ? 'h-[1.6rem]' : 'py-1.5', 'text-xs flex items-center gap-1.5 px-2 rounded-md relative', - 'border border-tertiary/30', + 'border', 'bg-surface hover:bg-surface-hover active:bg-surface', 'transition-all hover:text-primary cursor-pointer' )} @@ -117,6 +125,14 @@
    {#each assets as asset} + {@const ducklakeNotFound = + asset.kind === 'ducklake' && + ducklakes.current && + !ducklakes.current.find((name) => name === asset.path)} + {@const datatableNotFound = + asset.kind === 'datatable' && + datatables.current && + !datatables.current.find((name) => name === asset.path)}
  • onHoverLi?.(asset, 'enter')} @@ -187,6 +203,8 @@ {dbManagerDrawer} {resourceEditorDrawer} {s3FilePicker} + {ducklakeNotFound} + {datatableNotFound} />
  • {/each}