chore: remove conditional on dataloader
This commit is contained in:
parent
5c512ae7b4
commit
b8e521164b
@ -38,9 +38,7 @@ const DataLoader: React.FC<Props> = ({ children }) => {
|
|||||||
const { loadDataModel, isUpdated } = useModels()
|
const { loadDataModel, isUpdated } = useModels()
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Listen for model updates
|
// Listen for model updates
|
||||||
if (isUpdated) {
|
loadDataModel()
|
||||||
loadDataModel()
|
|
||||||
}
|
|
||||||
}, [isUpdated, loadDataModel])
|
}, [isUpdated, loadDataModel])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useCallback, useEffect } from 'react'
|
import { useCallback, useEffect, useRef } from 'react'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ExtensionTypeEnum,
|
ExtensionTypeEnum,
|
||||||
@ -29,10 +29,15 @@ import {
|
|||||||
const useModels = () => {
|
const useModels = () => {
|
||||||
const setDownloadedModels = useSetAtom(downloadedModelsAtom)
|
const setDownloadedModels = useSetAtom(downloadedModelsAtom)
|
||||||
const setExtensionModels = useSetAtom(configuredModelsAtom)
|
const setExtensionModels = useSetAtom(configuredModelsAtom)
|
||||||
|
const hasFetchedDownloadedModels = useRef(false) // Track whether the function has been executed
|
||||||
|
|
||||||
let isUpdated = false
|
let isUpdated = false
|
||||||
|
|
||||||
const getData = useCallback(() => {
|
const getData = useCallback(() => {
|
||||||
|
if (hasFetchedDownloadedModels.current) return
|
||||||
|
|
||||||
const getDownloadedModels = async () => {
|
const getDownloadedModels = async () => {
|
||||||
|
hasFetchedDownloadedModels.current = true
|
||||||
const localModels = (await getModels()).map((e) => ({
|
const localModels = (await getModels()).map((e) => ({
|
||||||
...e,
|
...e,
|
||||||
name: ModelManager.instance().models.get(e.id)?.name ?? e.id,
|
name: ModelManager.instance().models.get(e.id)?.name ?? e.id,
|
||||||
@ -72,7 +77,7 @@ const useModels = () => {
|
|||||||
// Fetch all data
|
// Fetch all data
|
||||||
getExtensionModels()
|
getExtensionModels()
|
||||||
getDownloadedModels()
|
getDownloadedModels()
|
||||||
}, [setDownloadedModels, setExtensionModels])
|
}, [])
|
||||||
|
|
||||||
const reloadData = useDebouncedCallback(() => getData(), 300)
|
const reloadData = useDebouncedCallback(() => getData(), 300)
|
||||||
|
|
||||||
@ -91,7 +96,7 @@ const useModels = () => {
|
|||||||
events.off(ModelEvent.OnModelsUpdate, async () => {})
|
events.off(ModelEvent.OnModelsUpdate, async () => {})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [getData, isUpdated, reloadData])
|
}, [isUpdated, reloadData])
|
||||||
|
|
||||||
return {
|
return {
|
||||||
loadDataModel: getData,
|
loadDataModel: getData,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user