Refactor settings fetching in KnowledgeSourcesPage for cleaner state updates

This commit simplifies the state update logic in the KnowledgeSourcesPage component by using conditional chaining to set various settings from the backend response. It removes the unnecessary settingsLoaded state, streamlining the code for better readability and maintainability while adhering to robust coding practices.
This commit is contained in:
Gabriel Luiz Freitas Almeida 2025-09-05 10:03:07 -03:00
parent b493dab318
commit b4ca29677e

View file

@ -78,7 +78,6 @@ function KnowledgeSourcesPage() {
separator: "\\n", separator: "\\n",
embeddingModel: "text-embedding-3-small", embeddingModel: "text-embedding-3-small",
}); });
const [settingsLoaded, setSettingsLoaded] = useState(false);
// Fetch settings from backend // Fetch settings from backend
const fetchSettings = useCallback(async () => { const fetchSettings = useCallback(async () => {
@ -86,31 +85,18 @@ function KnowledgeSourcesPage() {
const response = await fetch("/api/settings"); const response = await fetch("/api/settings");
if (response.ok) { if (response.ok) {
const settings = await response.json(); const settings = await response.json();
if (settings.flow_id) { // Update all state cleanly
setFlowId(settings.flow_id); settings.flow_id && setFlowId(settings.flow_id);
} settings.ingest_flow_id && setIngestFlowId(settings.ingest_flow_id);
if (settings.ingest_flow_id) { settings.langflow_edit_url && setLangflowEditUrl(settings.langflow_edit_url);
console.log("Setting ingestFlowId to:", settings.ingest_flow_id); settings.langflow_ingest_edit_url && setLangflowIngestEditUrl(settings.langflow_ingest_edit_url);
setIngestFlowId(settings.ingest_flow_id); settings.langflow_public_url && setPublicLangflowUrl(settings.langflow_public_url);
} else {
console.log("No ingest_flow_id in settings:", settings);
}
if (settings.langflow_edit_url) {
setLangflowEditUrl(settings.langflow_edit_url);
}
if (settings.langflow_ingest_edit_url) {
setLangflowIngestEditUrl(settings.langflow_ingest_edit_url);
}
if (settings.langflow_public_url) {
setPublicLangflowUrl(settings.langflow_public_url);
}
if (settings.ingestion_defaults) { if (settings.ingestion_defaults) {
console.log( console.log(
"Loading ingestion defaults from backend:", "Loading ingestion defaults from backend:",
settings.ingestion_defaults, settings.ingestion_defaults,
); );
setIngestionSettings(settings.ingestion_defaults); setIngestionSettings(settings.ingestion_defaults);
setSettingsLoaded(true);
} }
} }
} catch (error) { } catch (error) {
@ -572,7 +558,6 @@ function KnowledgeSourcesPage() {
</option> </option>
</select> </select>
</div> </div>
</CardContent> </CardContent>
</Card> </Card>
</div> </div>