mirror of
https://github.com/Qortal/qapp-core.git
synced 2025-06-14 01:21:21 +00:00
fix useResources
This commit is contained in:
parent
dbd1e6adba
commit
b9432fa5e0
@ -1,5 +1,5 @@
|
||||
import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
||||
import { usePublishStore } from "../state/publishes";
|
||||
import { ResourceStatus, usePublishStore } from "../state/publishes";
|
||||
import { QortalGetMetadata } from "../types/interfaces/resources";
|
||||
|
||||
interface PropsUseResourceStatus {
|
||||
@ -15,9 +15,23 @@ export const useResourceStatus = ({
|
||||
const intervalRef = useRef<null | number>(null)
|
||||
const timeoutRef = useRef<null | number>(null)
|
||||
const setResourceStatus = usePublishStore((state) => state.setResourceStatus);
|
||||
const statusRef = useRef<ResourceStatus | null>(null)
|
||||
|
||||
useEffect(()=> {
|
||||
statusRef.current = status
|
||||
}, [status])
|
||||
const downloadResource = useCallback(
|
||||
({ service, name, identifier }: QortalGetMetadata, build?: boolean) => {
|
||||
try {
|
||||
if(statusRef.current && statusRef.current?.status === 'READY'){
|
||||
if (intervalRef.current) {
|
||||
clearInterval(intervalRef.current);
|
||||
}
|
||||
if (timeoutRef.current) {
|
||||
clearTimeout(timeoutRef.current);
|
||||
}
|
||||
return
|
||||
}
|
||||
setResourceStatus(
|
||||
{ service, name, identifier },
|
||||
{
|
||||
|
@ -3,9 +3,10 @@
|
||||
export { useResourceStatus } from './hooks/useResourceStatus';
|
||||
export { Spacer } from './common/Spacer';
|
||||
export { useModal } from './hooks/useModal';
|
||||
export { AudioPlayerControls , OnTrackChangeMeta, AudioPlayerProps} from './components/AudioPlayer/AudioPlayerControls';
|
||||
export { AudioPlayerControls , OnTrackChangeMeta, AudioPlayerProps, AudioPlayerHandle} from './components/AudioPlayer/AudioPlayerControls';
|
||||
export { useAudioPlayerHotkeys } from './components/AudioPlayer/useAudioPlayerHotkeys';
|
||||
import './index.css'
|
||||
export { executeEvent, subscribeToEvent, unsubscribeFromEvent } from './utils/events';
|
||||
export { formatBytes, formatDuration } from './utils/numbers';
|
||||
export { createQortalLink } from './utils/qortal';
|
||||
export { IndexCategory } from './state/indexes';
|
||||
|
11
src/utils/events.ts
Normal file
11
src/utils/events.ts
Normal file
@ -0,0 +1,11 @@
|
||||
export const executeEvent = (eventName: string, data: any)=> {
|
||||
const event = new CustomEvent(eventName, {detail: data})
|
||||
document.dispatchEvent(event)
|
||||
}
|
||||
export const subscribeToEvent = (eventName: string, listener: any)=> {
|
||||
document.addEventListener(eventName, listener)
|
||||
}
|
||||
|
||||
export const unsubscribeFromEvent = (eventName: string, listener: any)=> {
|
||||
document.removeEventListener(eventName, listener)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user