import { useUser } from "@auth0/nextjs-auth0/client"; import { useTheme } from '@mui/material/styles'; import AppBar from '@mui/material/AppBar'; import Tabs from '@mui/material/Tabs'; import Tab from '@mui/material/Tab'; import Layout from "../components/layout"; import { Grid, Button, Typography, TextField, Box, CircularProgress, IconButton } from "@mui/material"; import { useState, useEffect,useRef } from "react"; import Card from '@mui/material/Card'; import CardContent from '@mui/material/CardContent'; import CardActions from '@mui/material/CardActions'; import { styled } from '@mui/material/styles'; import SwipeableViews from '../components/swipableView'; import { DataGrid, GridColDef, GridValueGetterParams } from '@mui/x-data-grid'; import ThumbsUpDownIcon from '@mui/icons-material/ThumbsUpDown'; import EditableArtistPortfolio from "../components/editableArtistPortfolio"; import Popover from '@mui/material/Popover'; import ArtistDashboardRequest from "../components/artistDashboardRequest"; const SellerDashoard = (ctx) => { const { user, isLoading } = useUser(); const [sellerData, setSellerData] = useState([]); const [loading, setLoading] = useState(true); // State for loading indicator const [isOnboarded, setIsOnboarded] = useState(false); const [onBoardUrl, setOnBoardUrl] = useState(""); const [tabValue, setTabValue] = useState(1); const getData = async () => { const response = await fetch('/api/artist/profile'); const sellerProfile = await response.json(); setSellerData(sellerProfile); const onboardCheckRequest = await fetch('/api/artist/onboarded', { method: "GET" }); const onboardCheckResponse = await onboardCheckRequest.json(); setIsOnboarded(onboardCheckResponse["onboarded"]); const onboardUrlRequest = await fetch('/api/artist/onboardurl', { method: "GET" }); const onboardUrlResponse = await onboardUrlRequest.json(); setOnBoardUrl(onboardUrlResponse["onboardUrl"]); setLoading(false); // Once data is fetched, set loading to false } const handleChange = (event: React.SyntheticEvent, newValue: number) => { setTabValue(newValue); }; const handleChangeIndex = (index: number) => { setTabValue(index); }; interface TabPanelProps { children?: React.ReactNode; dir?: string; index: number; value: number; } function TabPanel(props: TabPanelProps) { const { children, value, index, ...other } = props; return (