import { useEffect } from 'react' import { Modal } from '@janhq/joi' import { useAtomValue, useSetAtom } from 'jotai' import { AlertCircle } from 'lucide-react' import useCortex from '@/hooks/useCortex' import { getImportModelStageAtom, setImportModelStageAtom, } from '@/hooks/useImportModel' import ImportingModelItem from './ImportingModelItem' import { importingModelsAtom } from '@/helpers/atoms/Model.atom' const ImportingModelModal = () => { const { downloadModel } = useCortex() const setImportModelStage = useSetAtom(setImportModelStageAtom) const importingModels = useAtomValue(importingModelsAtom) const importModelStage = useAtomValue(getImportModelStageAtom) const finishedImportModel = importingModels.filter( (model) => model.status === 'IMPORTED' ).length useEffect(() => { const importModels = async () => { for (const model of importingModels) { await downloadModel(model.path) // const parsedResult = await result?.json() // if ( // parsedResult['message'] && // parsedResult['message'] === 'Download model started successfully.' // ) { // // update importingModels // } // console.log(`NamH result ${JSON.stringify(parsedResult)}`) } } importModels() // eslint-disable-next-line react-hooks/exhaustive-deps }, [downloadModel]) return ( setImportModelStage('NONE')} title={`Importing model (${finishedImportModel}/${importingModels.length})`} content={
{/* */}
{importingModels.map((model) => ( ))}

Own your model configurations, use at your own risk. Misconfigurations may result in lower quality or unexpected outputs.

} /> ) } export default ImportingModelModal