feat: plugin task

This commit is contained in:
StyleZhang
2024-11-11 18:17:44 +08:00
parent dbc10425c8
commit 27f794e197
10 changed files with 183 additions and 95 deletions

View File

@ -0,0 +1,27 @@
import { usePluginTasksStore } from './store'
import { TaskStatus } from '@/app/components/plugins/types'
import type { PluginStatus } from '@/app/components/plugins/types'
export const usePluginTaskStatus = () => {
const pluginTasks = usePluginTasksStore(s => s.pluginTasks)
const allPlugins = pluginTasks.map(task => task.plugins).flat()
const errorPlugins: PluginStatus[] = []
const successPlugins: PluginStatus[] = []
const runningPlugins: PluginStatus[] = []
allPlugins.forEach((plugin) => {
if (plugin.status === TaskStatus.running)
runningPlugins.push(plugin)
if (plugin.status === TaskStatus.failed)
errorPlugins.push(plugin)
if (plugin.status === TaskStatus.success)
successPlugins.push(plugin)
})
return {
errorPlugins,
successPlugins,
runningPlugins,
totalPluginsLength: allPlugins.length,
}
}