File size: 1,128 Bytes
5301c48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { useState, useEffect } from 'react'

export function useDatasetVersions(
  initialProject: any,
  inputLatestGenerationJobStatus: any
) {
  const [datasetVersions, setDatasetVersions] = useState<string[]>([])
  const [selectedVersion, setSelectedVersion] = useState<string>('')

  useEffect(() => {
    const fetchDatasetVersions = async () => {
      let latestVersion = initialProject?.latestDatasetVersion;
      const isLatestVersionNull = latestVersion == null || latestVersion == undefined;
      if (isLatestVersionNull) {
        latestVersion = 0;
      }
      const versions = Array.from({ length: latestVersion!! + 1 }, (_, i) => `V${i}`);
      
      if (inputLatestGenerationJobStatus.status == 'RUNNING' && !isLatestVersionNull) {
        versions.push(`V${latestVersion!! + 1}`);
      }

      setDatasetVersions(versions);
      if (versions.length > 0) {
        setSelectedVersion(versions[versions.length - 1]);
      }
    };
    fetchDatasetVersions()
  }, [initialProject, inputLatestGenerationJobStatus])

  return { datasetVersions, selectedVersion, setSelectedVersion, setDatasetVersions }
}