@automattic/social-previews
Version:
A suite of components to generate previews for a post for both social and search engines.
26 lines • 894 B
JavaScript
import { __ } from '@wordpress/i18n';
import { useCallback, useState } from 'react';
import { LANDSCAPE_MODE, PORTRAIT_MODE } from '../../constants';
const useImage = ({ mode: initialMode }) => {
const [mode, setMode] = useState(initialMode);
const [isLoadingImage, setLoadingImage] = useState(true);
const onLoad = useCallback(({ target }) => {
if (!mode) {
const image = target;
setMode(image.naturalWidth > image.naturalHeight ? LANDSCAPE_MODE : PORTRAIT_MODE);
}
setLoadingImage(false);
}, [mode]);
const onError = useCallback(() => setLoadingImage(false), []);
return [
mode,
isLoadingImage,
{
alt: __('Facebook Preview Thumbnail', 'social-previews'),
onLoad,
onError,
},
];
};
export default useImage;
//# sourceMappingURL=use-image-hook.js.map