import { Fragment, useEffect, useState } from 'react' import { Modal } from '@janhq/joi' import { useAtom } from 'jotai' import HeaderModal from './HeaderModal' import HfListModel from './HfListModel' import ListModel from './ListModel' import ModelInformation from './ModelInformation' import Tab, { ModelTab } from './Tab' import { localModelModalStageAtom } from '@/helpers/atoms/DownloadLocalModel.atom' const DownloadLocalModelModal: React.FC = () => { const [{ stage, modelHandle }, setLocalModelModalStage] = useAtom( localModelModalStageAtom ) const [tab, setTab] = useState('Versions') const [height, setHeight] = useState(0) useEffect(() => { const updateHeight = () => { setHeight(window.innerHeight - window.innerHeight * 0.4) } window.addEventListener('resize', updateHeight) updateHeight() return () => { window.removeEventListener('resize', updateHeight) } }, []) const modelName = modelHandle?.split('/')[1] ?? '' if (!modelHandle) return null const isFromCortexHub = modelHandle.includes('cortexso') return ( setLocalModelModalStage('NONE', undefined)} content={ {}} modelIdVariants={[modelHandle]} isLocalModel={true} /> setTab(input as 'Versions' | 'Information')} /> {tab === 'Versions' && (isFromCortexHub ? ( ) : ( ))} {tab === 'Information' && ( )} } /> ) } export default DownloadLocalModelModal