import React, { useState } from 'react' import { InferenceEngine } from '@janhq/core' import { useAtomValue } from 'jotai' import { useGetEngines } from '@/hooks/useEngineManagement' import Advanced from '@/screens/Settings/Advanced' import ProxySettings from '@/screens/Settings/Advanced/ProxySettings' import AppearanceOptions from '@/screens/Settings/Appearance' import ExtensionCatalog from '@/screens/Settings/CoreExtensions' import Engines from '@/screens/Settings/Engines' import LocalEngineSettings from '@/screens/Settings/Engines/LocalEngineSettings' import RemoteEngineSettings from '@/screens/Settings/Engines/RemoteEngineSettings' import ExtensionSetting from '@/screens/Settings/ExtensionSetting' import Hardware from '@/screens/Settings/Hardware' import Hotkeys from '@/screens/Settings/Hotkeys' import MCP from '@/screens/Settings/MCP' import MyModels from '@/screens/Settings/MyModels' import Privacy from '@/screens/Settings/Privacy' import { isLocalEngine } from '@/utils/modelEngine' import { selectedSettingAtom } from '@/helpers/atoms/Setting.atom' const SettingDetail = () => { const selectedSetting = useAtomValue(selectedSettingAtom) const { engines } = useGetEngines() const [subdir, setSubdir] = useState(null) switch (selectedSetting) { case 'Engines': return case 'MCP Servers': return case 'Extensions': return case 'Preferences': return case 'Keyboard Shortcuts': return case 'Hardware': return case 'Privacy': return case 'Advanced Settings': switch (subdir) { case 'proxy': return setSubdir(null)} /> default: return } case 'My Models': return default: if ( !selectedSetting.includes('@janhq') && isLocalEngine(engines, selectedSetting as InferenceEngine) ) { return ( ) } else if ( !selectedSetting.includes('@janhq') && !isLocalEngine(engines, selectedSetting as InferenceEngine) ) { return ( ) } return (
) } } export default SettingDetail