From 7f299210af960f0901cc4f5ed9dae13b10a9b3e3 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 27 Oct 2020 17:56:22 -0400 Subject: [PATCH] Fix multi queue loading in UI --- src/App.js | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/App.js b/src/App.js index 9999793..8320c96 100644 --- a/src/App.js +++ b/src/App.js @@ -13,15 +13,25 @@ function App() { const [darkMode, setDarkMode] = useState(false); const [activeItem, setActiveItem] = useState({}); const [sidebarOpen, setSidebarOpen] = useState(false); + const [queues, setQueues] = useState([]); const [items, setItems] = useState([]); - useEffect(() => { - fetch("/api/ce") - .then(res => res.json()) - .then(queue => { - setItems(queue.items) - }) - }, []) + useEffect( _ => { + async function getQueues(){ + const apiResponse = await fetch("/api/ce"); + const queueJson = await apiResponse.json(); + setQueues(queueJson); + } + getQueues(); + }, []); + + useEffect( _ => { + let tempItems = []; + for (let queue of queues){ + tempItems = tempItems.concat(queue.items); + } + setItems(tempItems); + }, [queues]); const theme = webqueueTheme(darkMode); const transitionWidth = theme.transitions.create(["width"], {