import React, { useCallback } from 'react' import { EngineConfig, InferenceEngine } from '@janhq/core' import { Button, Switch } from '@janhq/joi' import { useAtom, useSetAtom } from 'jotai' import { SettingsIcon } from 'lucide-react' import { getDescriptionByEngine, getTitleByEngine } from '@/utils/modelEngine' import { getLogoEngine } from '@/utils/modelEngine' import ModalDeleteCustomEngine from './ModalDeleteCustomEngine' import { showSettingActiveRemoteEngineAtom } from '@/helpers/atoms/Extension.atom' import { selectedSettingAtom } from '@/helpers/atoms/Setting.atom' const RemoteEngineItems = ({ engine, }: { engine: InferenceEngine values: EngineConfig[] }) => { const setSelectedSetting = useSetAtom(selectedSettingAtom) const customEngineLogo = getLogoEngine(engine) const [showSettingActiveRemoteEngine, setShowSettingActiveRemoteEngineAtom] = useAtom(showSettingActiveRemoteEngineAtom) const onSwitchChange = useCallback( (name: string) => { if (showSettingActiveRemoteEngine.includes(name)) { setShowSettingActiveRemoteEngineAtom( [...showSettingActiveRemoteEngine].filter((x) => x !== name) ) } else { setShowSettingActiveRemoteEngineAtom([ ...showSettingActiveRemoteEngine, name, ]) } }, [showSettingActiveRemoteEngine, setShowSettingActiveRemoteEngineAtom] ) return (
{getTitleByEngine(engine as InferenceEngine)}

{getDescriptionByEngine(engine as InferenceEngine)}

onSwitchChange(engine)} /> {!customEngineLogo && }
) } export default RemoteEngineItems