Просмотр исходного кода

🐛 fix(models): eliminate vendor column flicker by loading vendors before models

Why:
• The vendor list API is separate from the models API, causing the “Vendor” column in `ModelsTable` to flash (rendering `'-'` first, then updating) after the table finishes loading.
• This visual jump degrades the user experience.

What:
• Updated `web/src/hooks/models/useModelsData.js`
  – In the initial `useEffect`, vendors are fetched first with `loadVendors()` and awaited.
  – Only after vendors are ready do we call `loadModels()`, ensuring `vendorMap` is populated before the table renders.

Outcome:
• The table now renders with complete vendor data on first paint, removing the flicker and providing a smoother UI.
t0ng7u 7 месяцев назад
Родитель
Сommit
f3a1f98add
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      web/src/hooks/models/useModelsData.js

+ 5 - 2
web/src/hooks/models/useModelsData.js

@@ -333,8 +333,11 @@ export const useModelsData = () => {
 
 
   // Initial load
   // Initial load
   useEffect(() => {
   useEffect(() => {
-    loadVendors();
-    loadModels();
+    (async () => {
+      await loadVendors();
+      await loadModels();
+    })();
+    // eslint-disable-next-line react-hooks/exhaustive-deps
   }, []);
   }, []);
 
 
   return {
   return {