@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
20 lines (19 loc) • 670 B
JavaScript
// packages/editor/src/components/collaborators-presence/avatar/use-image-loading-status.ts
import { useCallback, useState } from "@wordpress/element";
function useImageLoadingStatus(src) {
const [prevSrc, setPrevSrc] = useState(src);
const [status, setStatus] = useState(
src ? "loading" : "idle"
);
if (prevSrc !== src) {
setPrevSrc(src);
setStatus(src ? "loading" : "idle");
}
const handleLoad = useCallback(() => setStatus("loaded"), []);
const handleError = useCallback(() => setStatus("error"), []);
return { status, handleLoad, handleError };
}
export {
useImageLoadingStatus
};
//# sourceMappingURL=use-image-loading-status.mjs.map