import { computed, ref } from 'vue' import type { TaskItemImpl } from '../../stores/queueStore' import type { JobGroup, JobListItem, JobSortMode, JobTab } from '../../composables/queue/useJobList' const jobItems = ref([]) function buildGroupedJobItems(): JobGroup[] { return [ { key: 'storybook', label: 'Storybook', items: jobItems.value } ] } const groupedJobItems = computed(buildGroupedJobItems) const selectedJobTab = ref('All') const selectedWorkflowFilter = ref<'all' | 'current'>('all') const selectedSortMode = ref('mostRecent') const currentNodeName = ref('KSampler') function buildEmptyTasks(): TaskItemImpl[] { return [] } const allTasksSorted = computed(buildEmptyTasks) const filteredTasks = computed(buildEmptyTasks) function buildHasFailedJobs() { return jobItems.value.some((item) => item.state === 'failed') } const hasFailedJobs = computed(buildHasFailedJobs) export function setMockJobItems(items: JobListItem[]) { jobItems.value = items } export function useJobList() { return { selectedJobTab, selectedWorkflowFilter, selectedSortMode, hasFailedJobs, allTasksSorted, filteredTasks, jobItems, groupedJobItems, currentNodeName } }