comissions-app-ui/components/editableArtistPortfolioImage.tsx

48 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-02-14 23:48:46 -05:00
import * as React from 'react';
import ImageList from '@mui/material/ImageList';
import ImageListItem from '@mui/material/ImageListItem';
import { useEffect, useState } from "react";
import DeleteIcon from '@mui/icons-material/Delete';
2024-02-14 23:48:46 -05:00
import { CircularProgress, ImageListItemBar } from '@mui/material';
2024-02-14 23:48:46 -05:00
import { IconButton } from '@mui/material';
2024-02-15 21:49:12 -05:00
const EditableArtistPortfolioImage = ({artistId,itemId,reload}) => {
2024-02-14 23:48:46 -05:00
const [loaded, setLoaded] = useState(false);
2024-02-15 21:49:12 -05:00
const [deleting, setDeleting] = useState(false);
2024-02-14 23:48:46 -05:00
const handleImageLoaded = () => {
setLoaded(true);
};
const deleteButton = () => {
2024-02-15 21:49:12 -05:00
setDeleting(true);
fetch('/api/artist/portfolio/'+itemId+"/delete", {
method: 'DELETE'
2024-02-15 21:49:12 -05:00
}).then(response => {
reload().then(data => {
})
})
}
2024-02-14 23:48:46 -05:00
return (
<ImageListItem key={itemId }>
2024-02-14 23:48:46 -05:00
<img
srcSet={process.env.NEXT_PUBLIC_API_URL+`/api/Discovery/Artists/${artistId}/Portfolio/${itemId}`}
src={process.env.NEXT_PUBLIC_API_URL+`/api/Discovery/Artists/${artistId}/Portfolio/${itemId}`}
2024-02-14 23:48:46 -05:00
alt={itemId}
loading="lazy"
style={{ filter: loaded ? 'blur(0)' : 'blur(10px)', backgroundColor:'grey' }}
onLoad={handleImageLoaded}
/>
<ImageListItemBar
actionIcon={
<IconButton onClick={deleteButton} color="error" >
<DeleteIcon />
</IconButton>
}>
</ImageListItemBar>
2024-02-14 23:48:46 -05:00
</ImageListItem>)
}
export default EditableArtistPortfolioImage