diff --git a/keep-notes/app/(main)/admin/settings/admin-settings-form.tsx b/keep-notes/app/(main)/admin/settings/admin-settings-form.tsx index 59207dd..c97ea83 100644 --- a/keep-notes/app/(main)/admin/settings/admin-settings-form.tsx +++ b/keep-notes/app/(main)/admin/settings/admin-settings-form.tsx @@ -57,16 +57,6 @@ export function AdminSettingsForm({ config }: { config: Record } const [isLoadingTagsModels, setIsLoadingTagsModels] = useState(false) const [isLoadingEmbeddingsModels, setIsLoadingEmbeddingsModels] = useState(false) - // Sync state with config - useEffect(() => { - setAllowRegister(config.ALLOW_REGISTRATION !== 'false') - setSmtpSecure(config.SMTP_SECURE === 'true') - setSmtpIgnoreCert(config.SMTP_IGNORE_CERT === 'true') - setTagsProvider((config.AI_PROVIDER_TAGS as AIProvider) || 'ollama') - setEmbeddingsProvider((config.AI_PROVIDER_EMBEDDING as AIProvider) || 'ollama') - setSelectedTagsModel(config.AI_MODEL_TAGS || '') - setSelectedEmbeddingModel(config.AI_MODEL_EMBEDDING || '') - }, [config]) // Fetch Ollama models const fetchOllamaModels = useCallback(async (type: 'tags' | 'embeddings', url: string) => { @@ -287,7 +277,16 @@ export function AdminSettingsForm({ config }: { config: Record } id="AI_PROVIDER_TAGS" name="AI_PROVIDER_TAGS" value={tagsProvider} - onChange={(e) => setTagsProvider(e.target.value as AIProvider)} + onChange={(e) => { + const newProvider = e.target.value as AIProvider + setTagsProvider(newProvider) + const defaultModels: Record = { + ollama: '', + openai: MODELS_2026.openai.tags[0], + custom: MODELS_2026.custom.tags[0], + } + setSelectedTagsModel(defaultModels[newProvider] || '') + }} className="flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" > @@ -417,7 +416,16 @@ export function AdminSettingsForm({ config }: { config: Record } id="AI_PROVIDER_EMBEDDING" name="AI_PROVIDER_EMBEDDING" value={embeddingsProvider} - onChange={(e) => setEmbeddingsProvider(e.target.value as AIProvider)} + onChange={(e) => { + const newProvider = e.target.value as AIProvider + setEmbeddingsProvider(newProvider) + const defaultModels: Record = { + ollama: '', + openai: MODELS_2026.openai.embeddings[0], + custom: MODELS_2026.custom.embeddings[0], + } + setSelectedEmbeddingModel(defaultModels[newProvider] || '') + }} className="flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" >