From faede75bb463c633f640a0e3cbc60381812141b1 Mon Sep 17 00:00:00 2001 From: Alexander Brown Date: Wed, 18 Feb 2026 18:35:36 -0800 Subject: [PATCH] fix: show skeleton loading state in asset folder view (#8979) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description When clicking a multi-output job to enter folder view, `resolveOutputAssetItems` fetches job details asynchronously. During this fetch, the panel showed "No generated files found" because there was no loading state for the folder resolution—only the media list fetch had one. This replaces the empty state flash with skeleton cards that match the asset grid layout, using the known output count from metadata to render the correct number of placeholders. Supersedes #8960. ### Changes - **Add shadcn/vue `Skeleton` component** (`src/components/ui/skeleton/Skeleton.vue`) - **Use `useAsyncState`** from VueUse to track folder asset resolution, providing `isLoading` automatically - **Wire `folderLoading`** into `showLoadingState` and `showEmptyState` computeds - **Replace `ProgressSpinner`** with a skeleton grid that mirrors the asset card layout - **Use `metadata.outputCount`** to predict skeleton count; falls back to 6 ### Before / After | Before | After | |--------|-------| | "No generated files found" flash | Skeleton cards matching grid layout | ## Checklist - [x] Code follows project conventions - [x] No `any` types introduced - [x] Lint and typecheck pass ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8979-fix-show-skeleton-loading-state-in-asset-folder-view-30c6d73d365081fa9809f616204ed234) by [Unito](https://www.unito.io) --------- Co-authored-by: Amp --- .../sidebar/tabs/AssetsSidebarTab.vue | 72 ++++++++++++++----- src/components/ui/skeleton/Skeleton.vue | 15 ++++ src/locales/en/main.json | 4 ++ 3 files changed, 73 insertions(+), 18 deletions(-) create mode 100644 src/components/ui/skeleton/Skeleton.vue diff --git a/src/components/sidebar/tabs/AssetsSidebarTab.vue b/src/components/sidebar/tabs/AssetsSidebarTab.vue index 4bede6891a..ec780cfa48 100644 --- a/src/components/sidebar/tabs/AssetsSidebarTab.vue +++ b/src/components/sidebar/tabs/AssetsSidebarTab.vue @@ -79,8 +79,21 @@