diff --git a/src/components/ResponsiveImage.jsx b/src/components/ResponsiveImage.jsx new file mode 100644 index 0000000..46105bc --- /dev/null +++ b/src/components/ResponsiveImage.jsx @@ -0,0 +1,49 @@ +import React, {useState} from 'react'; +import './ResponsiveImage.scss'; + +export const ResponsiveImage = (props) => { + /* Link de la imagen */ + const image = props.image; + /* Alt text de la imagen */ + const alt = props.alt; + /* Accion al hacer click en la imagen */ + const handleClick = props.onClick; + /* Placeholder a usar mientras la imagen carga */ + const placeholder = props.placeholder ? React.cloneElement(props.placeholder, {className: 'responsive-image'}) : null; + /* TamaƱo de la imagen, de 1 a 6 */ + const size = props.size ? props.size : 1; + /* Ratio de aspecto de la imagen 4by3, 1by1, 16by9, auto*/ + const ratio = props.ratio ? props.ratio : '1by1'; + + const [loading, setLoading] = useState(true); + + const handleLoad = () => setLoading(false); + + const imageClass = `responsive-image`; + const containerClass = `responsive-container ratio-${ratio} size-${size}`; + + if(!image) { + return ( +