diff --git a/web/screens/Settings/Engines/ModalDeleteCustomEngine.tsx b/web/screens/Settings/Engines/ModalDeleteCustomEngine.tsx new file mode 100644 index 000000000..b6e378581 --- /dev/null +++ b/web/screens/Settings/Engines/ModalDeleteCustomEngine.tsx @@ -0,0 +1,60 @@ +import { memo, useState } from 'react' + +import { InferenceEngine } from '@janhq/core' +import { Button, Modal, ModalClose } from '@janhq/joi' + +import { Trash2Icon } from 'lucide-react' + +import { uninstallEngine } from '@/hooks/useEngineManagement' + +const ModalDeleteCustomEngine = ({ engine }: { engine: InferenceEngine }) => { + const [open, setOpen] = useState(false) + + return ( + Delete Engine} + open={open} + onOpenChange={() => setOpen(!open)} + trigger={ + + } + content={ +
+

+ Are you sure you want to delete {engine}? This action cannot be + undone. +

+
+ { + setOpen(!open) + e.stopPropagation() + }} + > + + + + + +
+
+ } + /> + ) +} + +export default memo(ModalDeleteCustomEngine) diff --git a/web/screens/Settings/Engines/RemoteEngineItem.tsx b/web/screens/Settings/Engines/RemoteEngineItem.tsx index 4538be1fe..449cf9966 100644 --- a/web/screens/Settings/Engines/RemoteEngineItem.tsx +++ b/web/screens/Settings/Engines/RemoteEngineItem.tsx @@ -8,6 +8,10 @@ import { SettingsIcon } from 'lucide-react' import { 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' @@ -18,7 +22,7 @@ const RemoteEngineItems = ({ values: EngineConfig[] }) => { const setSelectedSetting = useSetAtom(selectedSettingAtom) - + const customEngineLogo = getLogoEngine(engine) const [showSettingActiveRemoteEngine, setShowSettingActiveRemoteEngineAtom] = useAtom(showSettingActiveRemoteEngineAtom) @@ -60,6 +64,7 @@ const RemoteEngineItems = ({ checked={!showSettingActiveRemoteEngine.includes(engine)} onChange={() => onSwitchChange(engine)} /> + {!customEngineLogo && }