diff --git a/dashboard/src/app/[tenantId]/components/tables/UserTaskDefTable.tsx b/dashboard/src/app/[tenantId]/components/tables/UserTaskDefTable.tsx index 57f6e94e1..97e76f797 100644 --- a/dashboard/src/app/[tenantId]/components/tables/UserTaskDefTable.tsx +++ b/dashboard/src/app/[tenantId]/components/tables/UserTaskDefTable.tsx @@ -1,10 +1,25 @@ +import { getLatestWfSpecs } from '@/app/actions/getLatestWfSpec' +import { Separator } from '@/components/ui/separator' +import { useWhoAmI } from '@/contexts/WhoAmIContext' +import { WfSpecData } from '@/types' import { UserTaskDefId } from 'littlehorse-client/proto' import { TagIcon } from 'lucide-react' -import { FC, Fragment } from 'react' +import { useRouter } from 'next/navigation' +import { FC, Fragment, useEffect, useState } from 'react' import { SearchResultProps } from '.' import LinkWithTenant from '../LinkWithTenant' export const UserTaskDefTable: FC = ({ pages = [] }) => { + const router = useRouter() + const [wfSpecs, setWfSpecs] = useState([]) + const { tenantId } = useWhoAmI() + + useEffect(() => { + if (!tenantId) return + const wfSpecNames = pages.flatMap(page => page.results).map(wfSpec => wfSpec.name) + getLatestWfSpecs(tenantId, wfSpecNames).then(setWfSpecs) + }, [pages, tenantId]) + if (pages.length === 0) { return
No UserTaskDefs
} @@ -14,14 +29,17 @@ export const UserTaskDefTable: FC = ({ pages = [] }) => { {pages.map((page, i) => ( {page.results.map(({ name, version }: UserTaskDefId) => ( -
- - {name} - -
- v{version} + +
+ + {name} + +
+ v{version} +
-
+ + ))} ))}