import * as React from 'react'; import { ImageList, Box, Button, CircularProgress, Slider, IconButton } from '@mui/material'; import { useEffect, useState } from "react"; import EditableArtistPortfolioImage from './editableArtistPortfolioImage'; import FileOpenIcon from '@mui/icons-material/FileOpen'; import { Tooltip } from '@mui/material'; import { Grid } from '@mui/material'; import { FileUpload } from '@mui/icons-material'; const EditableArtistPortfolio = ({ artistId }) => { const [portfolioData, setPortfolioData] = useState([]); const [columns, setColumns] = useState(2); const [loading, setLoading] = useState(true); // State for loading indicator useEffect(() => { getData(); }, []); const handleColumns = (event, value)=>{ setColumns(value); } const getData = async () => { const response = await fetch('/api/discovery/artist/' + artistId + '/portfolio'); const data = await response.json(); setPortfolioData(data); setLoading(false); } function handlePortfolioUploadImageChange(event) { const file = event.target.files[0]; const formData = new FormData(); formData.append('newImage', file); fetch('/api/artist/portfolio', { method: 'POST', body: formData // Don't set Content-Type, FormData will handle it }) .then(response => response.json()) .then(data => { getData(); }) .catch(error => { console.error('Error uploading file:', error); // Handle error appropriately }); } return ( (loading) ? ( ) : ( {portfolioData.map((item) => ( ))} ) ) } export default EditableArtistPortfolio