mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-05 05:27:37 +03:00
parent
cb6aa49439
commit
7f85ecd515
14 changed files with 110 additions and 41 deletions
23
ui/src/common/useResourceRefresh.js
Normal file
23
ui/src/common/useResourceRefresh.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
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)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue