import { EngineManager, InferenceEngine } from '@janhq/core' import { useAtomValue, useSetAtom } from 'jotai' import ErrorMessage from '@/containers/ErrorMessage' import { MainViewState } from '@/constants/screens' import { loadModelErrorAtom } from '@/hooks/useActiveModel' import { mainViewStateAtom } from '@/helpers/atoms/App.atom' import { activeAssistantAtom } from '@/helpers/atoms/Assistant.atom' import { selectedSettingAtom } from '@/helpers/atoms/Setting.atom' const LoadModelError = () => { const loadModelError = useAtomValue(loadModelErrorAtom) const setMainState = useSetAtom(mainViewStateAtom) const setSelectedSettingScreen = useSetAtom(selectedSettingAtom) const activeAssistant = useAtomValue(activeAssistantAtom) return ( {typeof loadModelError?.includes === 'function' && loadModelError.includes('EXTENSION_IS_NOT_INSTALLED') ? ( <>

Model is currently unavailable. Please switch to a different model or install the{' '} { setMainState(MainViewState.Settings) if (activeAssistant?.model.engine) { const engine = EngineManager.instance().get( InferenceEngine.cortex ) engine?.name && setSelectedSettingScreen(engine.name) } }} > {loadModelError.split('::')[1] ?? ''} {' '} to continue using it.

) : ( <> {loadModelError && (

{loadModelError}

)} )} } /> ) } export default LoadModelError