| 1 |
const { useState } = wp.element; |
| 2 |
|
| 3 |
const ImageAvatar = ({ imageUrl, onDeleteImage }) => { |
| 4 |
const [hover, setHover] = useState(false); |
| 5 |
const [deleteHover, setDeleteHover] = useState(false); |
| 6 |
|
| 7 |
const deleteButtonStyle = { |
| 8 |
visibility: hover ? "visible" : "hidden", |
| 9 |
backgroundColor: deleteHover ? "white" : "#64666a", |
| 10 |
color: "#b4b5b7", |
| 11 |
position: "absolute", |
| 12 |
right: 34, |
| 13 |
fontSize: 16, |
| 14 |
alignSelf: "center", |
| 15 |
display: "flex", |
| 16 |
justifyContent: "center", |
| 17 |
alignItems: "center", |
| 18 |
borderRadius: 3, |
| 19 |
cursor: "pointer", |
| 20 |
}; |
| 21 |
|
| 22 |
return ( |
| 23 |
<div |
| 24 |
className="image-avatar" |
| 25 |
style={{ backgroundImage: `url(${imageUrl})` }} |
| 26 |
onMouseEnter={() => setHover(true)} |
| 27 |
onMouseLeave={() => setHover(false)} |
| 28 |
> |
| 29 |
<span |
| 30 |
className="image-avatar-delete dashicons dashicons-trash" |
| 31 |
onMouseEnter={() => setDeleteHover(true)} |
| 32 |
onMouseLeave={() => setDeleteHover(false)} |
| 33 |
style={deleteButtonStyle} |
| 34 |
onClick={() => onDeleteImage()} |
| 35 |
></span> |
| 36 |
</div> |
| 37 |
); |
| 38 |
}; |
| 39 |
|
| 40 |
export default ImageAvatar; |
| 41 |
|