fix: reorganize data loading and auto-refresh logic in SiteDashboardPage for improved clarity and maintainability
This commit is contained in:
@@ -127,15 +127,6 @@ export default function SiteDashboardPage() {
|
|||||||
localStorage.setItem('pulse_dashboard_settings', JSON.stringify(settings))
|
localStorage.setItem('pulse_dashboard_settings', JSON.stringify(settings))
|
||||||
}, [todayInterval, multiDayInterval, isSettingsLoaded]) // dateRange is handled in saveSettings/onChange
|
}, [todayInterval, multiDayInterval, isSettingsLoaded]) // dateRange is handled in saveSettings/onChange
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (isSettingsLoaded) loadData()
|
|
||||||
const interval = setInterval(() => {
|
|
||||||
loadData(true)
|
|
||||||
loadRealtime()
|
|
||||||
}, 30000)
|
|
||||||
return () => clearInterval(interval)
|
|
||||||
}, [siteId, dateRange, todayInterval, multiDayInterval, isSettingsLoaded, loadData, loadRealtime])
|
|
||||||
|
|
||||||
// * Tick every 1s so "Live · Xs ago" counts in real time
|
// * Tick every 1s so "Live · Xs ago" counts in real time
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const interval = setInterval(() => setTick((t) => t + 1), 1000)
|
const interval = setInterval(() => setTick((t) => t + 1), 1000)
|
||||||
@@ -215,6 +206,15 @@ export default function SiteDashboardPage() {
|
|||||||
}
|
}
|
||||||
}, [siteId])
|
}, [siteId])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isSettingsLoaded) loadData()
|
||||||
|
const interval = setInterval(() => {
|
||||||
|
loadData(true)
|
||||||
|
loadRealtime()
|
||||||
|
}, 30000)
|
||||||
|
return () => clearInterval(interval)
|
||||||
|
}, [siteId, dateRange, todayInterval, multiDayInterval, isSettingsLoaded, loadData, loadRealtime])
|
||||||
|
|
||||||
if (loading) {
|
if (loading) {
|
||||||
return <LoadingOverlay logoSrc="/pulse_icon_no_margins.png" title="Pulse" />
|
return <LoadingOverlay logoSrc="/pulse_icon_no_margins.png" title="Pulse" />
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user