import React, { use, useEffect } from 'react'; import { Button } from '@headlessui/react'; import { CaptionDatasetModal, openCaptionDatasetModal } from '@/components/CaptionDatasetModal'; import useJobByRef from '@/hooks/useJobByRef'; import Link from 'next/link'; import { Loader2 } from 'lucide-react'; type AutoCaptionButtonProps = { datasetPath: string; setIsAutoCaptioning?: (isAutoCaptioning: boolean) => void; captionExt?: string; }; export default function AutoCaptionButton({ datasetPath, setIsAutoCaptioning, captionExt }: AutoCaptionButtonProps) { const { job, status, refreshJob } = useJobByRef(datasetPath, 5000); useEffect(() => { if (setIsAutoCaptioning) { setIsAutoCaptioning(!!(job && job.status === 'running')); } }, [job, setIsAutoCaptioning]); if (job && (job.status === 'running' || job.status === 'queued')) { return ( Auto Captioning... Captioning ); } return ( ); }