7f85ecd515
Closes #1025
24 lines
608 B
JavaScript
24 lines
608 B
JavaScript
import { useSelector } from 'react-redux'
|
|
import { useState } from 'react'
|
|
import { useRefresh } from 'react-admin'
|
|
|
|
export const useResourceRefresh = (...resources) => {
|
|
const [lastTime, setLastTime] = useState(Date.now())
|
|
const refreshData = useSelector(
|
|
(state) => state.activity?.refresh || { lastTime }
|
|
)
|
|
const refresh = useRefresh()
|
|
|
|
const resource = refreshData.resource
|
|
if (refreshData.lastTime > lastTime) {
|
|
if (
|
|
resource === '' ||
|
|
resources.length === 0 ||
|
|
resources.includes(resource)
|
|
) {
|
|
refresh()
|
|
}
|
|
setLastTime(refreshData.lastTime)
|
|
}
|
|
}
|