import { useSignals } from "@preact/signals-react/runtime"; import { faClipboard, faClipboardList, faCircleCheck, faCircleExclamation, faLoader, faSpinner, faSquareXmark, } from "@fortawesome/pro-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { deleteInferenceJob, inferenceJobs } from "~/pages/PageEnigma/store/inferenceJobs"; import { InferenceJob } from "~/pages/PageEnigma/models"; import { ButtonDialogue } from "../ButtonDialogue"; import { ButtonIcon, H4,H6,P } from "~/components"; import { JobState } from "~/hooks/useInferenceJobManager/useInferenceJobManager"; const printJobType = (jobType : string)=>{ switch (jobType){ case "generic": return "Text to Speech"; default: return "Unknown"; } }; const printJobStatus = (jobStatus : string)=>{ switch (jobStatus){ case JobState.PENDING: return "Adding to the queue."; case JobState.STARTED: return "Processing, please wait..."; case JobState.COMPLETE_SUCCESS: return "Completed! See Audio Panel for the result. file." default: return "Unknown Status"; } }; const JobStatusIcon = ({jobStatus} : {jobStatus:string})=>{ switch (jobStatus){ case JobState.PENDING:{ return( ); } case JobState.STARTED:{ return( ); } case JobState.COMPLETE_SUCCESS:{ return( ); } default:{ return( ); } } }; const InferenceItem = ({job}:{job:InferenceJob}) => { // console.log(job); return(
  • {printJobType(job.job_type)}

    {printJobStatus(job.job_status)}
    {job.job_status === JobState.COMPLETE_SUCCESS &&
    { deleteInferenceJob(job); }} />
    }
  • ); }; export const DialogueInference = () =>{ useSignals(); const buttonIcon = inferenceJobs.value.length > 0 ? faClipboardList : faClipboard; return( {inferenceJobs.value.length > 0 &&
      {inferenceJobs.value.map(job=> )}
    } { inferenceJobs.value.length === 0 &&

    You currently have no running proccesses.

    }
    ); }