8 changed files with 120 additions and 4 deletions
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 5.6 KiB |
@ -0,0 +1,77 @@
@@ -0,0 +1,77 @@
|
||||
import PropTypes from 'prop-types'; |
||||
|
||||
export function ImageAsset(props) { |
||||
const { name, src } = props; |
||||
|
||||
const containerStyle = { |
||||
borderRadius: '20px', |
||||
width: '12vw', |
||||
height: '12vw', |
||||
minWidth: '100px', |
||||
minHeight: '100px', |
||||
borderWidth: '1.5px', |
||||
borderStyle: 'solid', |
||||
borderColor: 'lightgray', |
||||
overflow: 'hidden', |
||||
margin: '0.3vw', |
||||
}; |
||||
|
||||
const colorBlockStyle = { |
||||
height: '70%', |
||||
width: '100%', |
||||
backgroundColor: 'white', |
||||
}; |
||||
|
||||
const colorDescriptionStyle = { |
||||
textAlign: 'center', |
||||
color: 'gray', |
||||
fontSize: '0.8em', |
||||
}; |
||||
|
||||
const imageStyle = { |
||||
width: '100%', |
||||
height: '80%', |
||||
backgroundRepeat: 'no-repeat', |
||||
backgroundSize: 'contain', |
||||
backgroundPosition: 'center', |
||||
marginTop: '5px', |
||||
backgroundImage: `url(${src})`, |
||||
}; |
||||
|
||||
return ( |
||||
<figure style={containerStyle}> |
||||
<a href={src} target="_blank" rel="noopener noreferrer"> |
||||
<div style={imageStyle} /> |
||||
<figcaption style={colorDescriptionStyle}>{name}</figcaption> |
||||
</a> |
||||
</figure> |
||||
); |
||||
} |
||||
|
||||
Image.propTypes = { |
||||
name: PropTypes.string.isRequired, |
||||
}; |
||||
|
||||
const rowStyle = { |
||||
display: 'flex', |
||||
flexDirection: 'row', |
||||
flexWrap: 'wrap', |
||||
// justifyContent: 'space-around',
|
||||
alignItems: 'center', |
||||
}; |
||||
|
||||
export function ImageRow(props) { |
||||
const { images } = props; |
||||
|
||||
return ( |
||||
<div style={rowStyle}> |
||||
{images.map(image => ( |
||||
<ImageAsset key={image.src} src={image.src} name={image.name} /> |
||||
))} |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
ImageRow.propTypes = { |
||||
images: PropTypes.arrayOf(PropTypes.object).isRequired, |
||||
}; |
Loading…
Reference in new issue