diff --git a/client/package-lock.json b/client/package-lock.json index 73bb887172..deb354a6d4 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -5805,6 +5805,14 @@ } } }, + "@types/react-lazyload": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/react-lazyload/-/react-lazyload-3.1.0.tgz", + "integrity": "sha512-JnVJb+6cUrIk4Fo/zc/4NuFtm0h3XeNlN4Gt++WEHGeUDtlhnF1lXRz0WoqNmh5gH3oyeYOJXIZ8MoPL9ehp0g==", + "requires": { + "@types/react": "*" + } + }, "@types/react-spinkit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/react-spinkit/-/react-spinkit-3.0.6.tgz", diff --git a/client/src/components/helpers/ImageLoader.js b/client/src/components/helpers/image-loader.tsx similarity index 69% rename from client/src/components/helpers/ImageLoader.js rename to client/src/components/helpers/image-loader.tsx index fcc8fe1ddd..53ec38b38f 100644 --- a/client/src/components/helpers/ImageLoader.js +++ b/client/src/components/helpers/image-loader.tsx @@ -1,20 +1,21 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ import React, { useState } from 'react'; import './image-loader.css'; +// @ts-ignore import LazyLoad from 'react-lazy-load'; -import PropTypes from 'prop-types'; -const propTypes = { - alt: PropTypes.string, - className: PropTypes.string, - height: PropTypes.number, - loadedClassName: PropTypes.string, - loadingClassName: PropTypes.string, - offsetVertical: PropTypes.number, - src: PropTypes.string, - style: PropTypes.object, - width: PropTypes.number -}; +interface ImageLoaderProps { + alt?: string; + className?: string; + height?: number; + loadedClassName?: string; + loadingClassName?: string; + offsetVertical?: number; + src?: string; + style?: React.CSSProperties; + width?: number; +} const ImageLoader = ({ className = '', @@ -26,7 +27,7 @@ const ImageLoader = ({ style, width, height -}) => { +}: ImageLoaderProps): JSX.Element => { const [loaded, setLoaded] = useState(false); const fullClassName = `${className} ${ loaded ? loadedClassName : loadingClassName @@ -49,5 +50,5 @@ const ImageLoader = ({ ); }; -ImageLoader.propTypes = propTypes; + export default ImageLoader; diff --git a/client/src/components/helpers/index.js b/client/src/components/helpers/index.js index e37c92f152..bf538bfd60 100644 --- a/client/src/components/helpers/index.js +++ b/client/src/components/helpers/index.js @@ -6,6 +6,6 @@ export { default as SkeletonSprite } from './skeleton-sprite'; export { default as Spacer } from './spacer'; export { default as Link } from './link'; export { default as CurrentChallengeLink } from './CurrentChallengeLink'; -export { default as ImageLoader } from './ImageLoader'; +export { default as ImageLoader } from './image-loader'; export { default as AvatarRenderer } from './AvatarRenderer'; export { default as borderColorPicker } from './borderColorPicker';