diff --git a/uikit/src/slider/styles.scss b/uikit/src/slider/styles.scss index 889c35151..718972efb 100644 --- a/uikit/src/slider/styles.scss +++ b/uikit/src/slider/styles.scss @@ -3,6 +3,9 @@ &-track { @apply relative h-1.5 w-full grow overflow-hidden rounded-full bg-gray-200 dark:bg-gray-800; + [data-disabled] { + @apply cursor-not-allowed opacity-50; + } } &-range { diff --git a/web/containers/Checkbox/index.tsx b/web/containers/Checkbox/index.tsx index f7c39685e..e8f916d98 100644 --- a/web/containers/Checkbox/index.tsx +++ b/web/containers/Checkbox/index.tsx @@ -18,6 +18,7 @@ import useUpdateModelParameters from '@/hooks/useUpdateModelParameters' import { getConfigurationsData } from '@/utils/componentSettings' import { toSettingParams } from '@/utils/modelParam' +import { serverEnabledAtom } from '@/helpers/atoms/LocalServer.atom' import { engineParamsUpdateAtom, getActiveThreadIdAtom, @@ -43,6 +44,8 @@ const Checkbox: React.FC = ({ name, title, checked, description }) => { const setEngineParamsUpdate = useSetAtom(engineParamsUpdateAtom) + const serverEnabled = useAtomValue(serverEnabledAtom) + const { stopModel } = useActiveModel() const onCheckedChange = (checked: boolean) => { @@ -74,7 +77,11 @@ const Checkbox: React.FC = ({ name, title, checked, description }) => { - + ) } diff --git a/web/containers/DropdownListSidebar/index.tsx b/web/containers/DropdownListSidebar/index.tsx index 59d286238..39965e838 100644 --- a/web/containers/DropdownListSidebar/index.tsx +++ b/web/containers/DropdownListSidebar/index.tsx @@ -129,12 +129,6 @@ export default function DropdownListSidebar() { const model = downloadedModels.find((m) => m.id === modelId) setSelectedModel(model) - await stopModel() - - if (activeModel?.id !== modelId) { - await startModel(modelId) - } - if (serverEnabled) { window.core?.api?.stopServer() setServerEnabled(false) @@ -209,11 +203,6 @@ export default function DropdownListSidebar() { className={twMerge( x.id === selectedModel?.id && 'bg-secondary' )} - onPointerUp={() => { - if (x.id === selectedModel?.id) { - startModel(x.id) - } - }} >
{x.name} diff --git a/web/containers/ModelConfigInput/index.tsx b/web/containers/ModelConfigInput/index.tsx index 7e6ffdc38..e409fd424 100644 --- a/web/containers/ModelConfigInput/index.tsx +++ b/web/containers/ModelConfigInput/index.tsx @@ -18,6 +18,7 @@ import { getConfigurationsData } from '@/utils/componentSettings' import { toSettingParams } from '@/utils/modelParam' +import { serverEnabledAtom } from '@/helpers/atoms/LocalServer.atom' import { engineParamsUpdateAtom, getActiveThreadIdAtom, @@ -52,6 +53,8 @@ const ModelConfigInput: React.FC = ({ const { stopModel } = useActiveModel() + const serverEnabled = useAtomValue(serverEnabledAtom) + const onValueChanged = (e: React.ChangeEvent) => { if (!threadId) return if (engineParams.some((x) => x.name.includes(name))) { @@ -85,6 +88,7 @@ const ModelConfigInput: React.FC = ({ placeholder={placeholder} onChange={onValueChanged} value={value} + disabled={serverEnabled} />
) diff --git a/web/containers/SliderRightPanel/index.tsx b/web/containers/SliderRightPanel/index.tsx index e7fcfa1ff..d9ed00f83 100644 --- a/web/containers/SliderRightPanel/index.tsx +++ b/web/containers/SliderRightPanel/index.tsx @@ -21,6 +21,7 @@ import useUpdateModelParameters from '@/hooks/useUpdateModelParameters' import { getConfigurationsData } from '@/utils/componentSettings' import { toSettingParams } from '@/utils/modelParam' +import { serverEnabledAtom } from '@/helpers/atoms/LocalServer.atom' import { engineParamsUpdateAtom, getActiveThreadIdAtom, @@ -49,6 +50,8 @@ const SliderRightPanel: React.FC = ({ const { updateModelParameter } = useUpdateModelParameters() const threadId = useAtomValue(getActiveThreadIdAtom) + const serverEnabled = useAtomValue(serverEnabledAtom) + const activeModelParams = useAtomValue(getActiveThreadModelParamsAtom) const modelSettingParams = toSettingParams(activeModelParams) @@ -100,6 +103,7 @@ const SliderRightPanel: React.FC = ({ min={min} max={max} step={step} + disabled={serverEnabled} />

{min}

@@ -114,6 +118,7 @@ const SliderRightPanel: React.FC = ({ min={min} max={max} value={String(value)} + disabled={serverEnabled} onBlur={(e) => { if (Number(e.target.value) > Number(max)) { onValueChanged([Number(max)]) diff --git a/web/screens/LocalServer/index.tsx b/web/screens/LocalServer/index.tsx index 5927cee19..8a0e768f9 100644 --- a/web/screens/LocalServer/index.tsx +++ b/web/screens/LocalServer/index.tsx @@ -34,7 +34,7 @@ import { useActiveModel } from '@/hooks/useActiveModel' import { useServerLog } from '@/hooks/useServerLog' import { getConfigurationsData } from '@/utils/componentSettings' -import { toRuntimeParams, toSettingParams } from '@/utils/modelParam' +import { toSettingParams } from '@/utils/modelParam' import EngineSetting from '../Chat/EngineSetting' @@ -58,9 +58,9 @@ const LocalServerScreen = () => { const activeModelParams = useAtomValue(getActiveThreadModelParamsAtom) const modelEngineParams = toSettingParams(activeModelParams) - const modelRuntimeParams = toRuntimeParams(activeModelParams) + const componentDataEngineSetting = getConfigurationsData(modelEngineParams) - const componentDataRuntimeSetting = getConfigurationsData(modelRuntimeParams) + const { openServerLog, clearServerLog } = useServerLog() const { activeModel, startModel, stateModel } = useActiveModel() const [selectedModel] = useAtom(selectedModelAtom)