Skip to content

Commit f08352f

Browse files
committed
Add empty states and refactor image grid
1 parent 0236a29 commit f08352f

File tree

1 file changed

+36
-34
lines changed

1 file changed

+36
-34
lines changed

src/lib/components/assets/browser/external-assets-panel.svelte

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -232,51 +232,53 @@
232232
});
233233
</script>
234234
235-
{#snippet imageGrid()}
236-
<SimpleImageGrid {viewType} {gridId} {multiple}>
237-
<InfiniteScroll items={listedAssets ?? []} itemKey="id">
238-
{#snippet renderItem(/** @type {ExternalAsset} */ asset)}
239-
{#await sleep() then}
240-
{@const { id, previewURL, description, kind: _kind } = asset}
241-
<SimpleImageGridItem
242-
value={id}
243-
{viewType}
244-
{multiple}
245-
selected={isSelected(asset)}
246-
onChange={({ detail: { selected } }) => {
247-
onSelectionChange(asset, selected);
248-
}}
249-
>
250-
<AssetPreview kind={_kind} src={previewURL} variant="tile" crossorigin="anonymous" />
251-
{#if !$isSmallScreen || viewType === 'list'}
252-
<AssetPath path={description} />
253-
{/if}
254-
</SimpleImageGridItem>
255-
{/await}
256-
{/snippet}
257-
</InfiniteScroll>
258-
</SimpleImageGrid>
259-
{/snippet}
260-
261-
{#if hasAuthInfo}
262-
{#if error}
263-
<EmptyState>
264-
<span role="alert">{$_(`assets_dialog.error.${error}`)}</span>
265-
</EmptyState>
266-
{:else if !listedAssets}
235+
{#snippet content()}
236+
{#if !listedAssets}
267237
<EmptyState>
268238
<span role="alert">{$_(searchTerms ? 'searching' : 'loading')}</span>
269239
</EmptyState>
270240
{:else if !listedAssets.length}
271241
<EmptyState>
272242
<span role="alert">{$_('no_files_found')}</span>
273243
</EmptyState>
244+
{:else}
245+
<SimpleImageGrid {viewType} {gridId} {multiple}>
246+
<InfiniteScroll items={listedAssets ?? []} itemKey="id">
247+
{#snippet renderItem(/** @type {ExternalAsset} */ asset)}
248+
{#await sleep() then}
249+
{@const { id, previewURL, description, kind: _kind } = asset}
250+
<SimpleImageGridItem
251+
value={id}
252+
{viewType}
253+
{multiple}
254+
selected={isSelected(asset)}
255+
onChange={({ detail: { selected } }) => {
256+
onSelectionChange(asset, selected);
257+
}}
258+
>
259+
<AssetPreview kind={_kind} src={previewURL} variant="tile" crossorigin="anonymous" />
260+
{#if !$isSmallScreen || viewType === 'list'}
261+
<AssetPath path={description} />
262+
{/if}
263+
</SimpleImageGridItem>
264+
{/await}
265+
{/snippet}
266+
</InfiniteScroll>
267+
</SimpleImageGrid>
268+
{/if}
269+
{/snippet}
270+
271+
{#if hasAuthInfo}
272+
{#if error}
273+
<EmptyState>
274+
<span role="alert">{$_(`assets_dialog.error.${error}`)}</span>
275+
</EmptyState>
274276
{:else if upload}
275277
<DropZone accept={fieldConfig?.accept} {multiple} onDrop={({ files }) => uploadFiles(files)}>
276-
{@render imageGrid()}
278+
{@render content()}
277279
</DropZone>
278280
{:else}
279-
{@render imageGrid()}
281+
{@render content()}
280282
{/if}
281283
{:else if hasConfig}
282284
<EmptyState>

0 commit comments

Comments
 (0)