diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index bc21af4..b78f427 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -53,26 +53,32 @@ function App() { setSettings(settingsData); setGateStatus(statusData); } catch (err) { - setError('Failed to load initial data'); + setError('Failed to load data'); console.error(err); } }; - loadData(); - }, []); - useEffect(() => { const interval = setInterval(async () => { try { - const status = await api.getGateStatus(); - setGateStatus(status); - const newEvents = await api.getEvents(); - setEvents(newEvents.events); - setHasMoreEvents(newEvents.hasMore); - setTotalEvents(newEvents.total); + // Only update status and most recent events + const [statusData, eventsData] = await Promise.all([ + api.getGateStatus(), + api.getEvents(10, 0) + ]); + setGateStatus(statusData); + // Only update events if we're on the first page + if (events.length <= 10) { + setEvents(eventsData.events); + setHasMoreEvents(eventsData.hasMore); + setTotalEvents(eventsData.total); + } } catch (err) { - console.error('Failed to update gate status:', err); + console.error('Failed to update status:', err); } }, 1000); + + loadData(); + return () => clearInterval(interval); }, []); @@ -173,7 +179,7 @@ function App() {

Recent Events

- {[...events].reverse().map((event, index) => ( + {events.map((event, index) => (