From 4ae93806c9795da7583dc9b065cfdbd5e58a5c05 Mon Sep 17 00:00:00 2001 From: Benjamin Lu Date: Sat, 24 Jan 2026 08:07:25 -0800 Subject: [PATCH] feat: add output stacks to list view --- .../tabs/AssetsSidebarListView.stories.ts | 23 ++++++++- .../sidebar/tabs/AssetsSidebarListView.vue | 51 +++++++++++++------ .../sidebar/tabs/AssetsSidebarTab.vue | 39 +++++++++++--- .../assets/components/AssetsListItem.vue | 39 ++++++++++++++ .../composables/useMediaAssetActions.ts | 7 +-- .../assets/composables/useOutputStacks.ts | 2 +- 6 files changed, 131 insertions(+), 30 deletions(-) diff --git a/src/components/sidebar/tabs/AssetsSidebarListView.stories.ts b/src/components/sidebar/tabs/AssetsSidebarListView.stories.ts index 2c50cab17..19305df01 100644 --- a/src/components/sidebar/tabs/AssetsSidebarListView.stories.ts +++ b/src/components/sidebar/tabs/AssetsSidebarListView.stories.ts @@ -1,7 +1,9 @@ import type { Meta, StoryObj } from '@storybook/vue3-vite' +import { computed } from 'vue' import type { JobAction } from '@/composables/queue/useJobActions' import type { JobListItem } from '@/composables/queue/useJobList' +import { useOutputStacks } from '@/platform/assets/composables/useOutputStacks' import type { AssetItem } from '@/platform/assets/schemas/assetSchema' import { setMockJobActions } from '@/storybook/mocks/useJobActions' import { setMockJobItems } from '@/storybook/mocks/useJobList' @@ -138,16 +140,33 @@ function renderAssetsSidebarListView(args: StoryArgs) { setup() { setMockJobItems(args.jobs) setMockJobActions(args.actionsByJobId ?? {}) + const { assetItems, selectableAssets, isStackExpanded, toggleStack } = + useOutputStacks({ + assets: computed(() => args.assets) + }) const selectedIds = new Set(args.selectedAssetIds ?? []) function isSelected(assetId: string) { return selectedIds.has(assetId) } - return { args, isSelected } + return { + args, + assetItems, + selectableAssets, + isSelected, + isStackExpanded, + toggleStack + } }, template: `
- +
` } diff --git a/src/components/sidebar/tabs/AssetsSidebarListView.vue b/src/components/sidebar/tabs/AssetsSidebarListView.vue index b39d982a5..6f454bb07 100644 --- a/src/components/sidebar/tabs/AssetsSidebarListView.vue +++ b/src/components/sidebar/tabs/AssetsSidebarListView.vue @@ -40,7 +40,7 @@