// ** MUI Imports import Grid from '@mui/material/Grid' // ** Icons Imports import Poll from 'mdi-material-ui/Poll' import CurrencyUsd from 'mdi-material-ui/CurrencyUsd' import HelpCircleOutline from 'mdi-material-ui/HelpCircleOutline' import BriefcaseVariantOutline from 'mdi-material-ui/BriefcaseVariantOutline' // ** Custom Components Imports import CardStatisticsVerticalComponent from '../../core/components/card-statistics/card-stats-vertical' // ** Styled Component Import import ApexChartWrapper from '../../core/styles/libs/react-apexcharts' import { Card, Typography } from '@mui/material' import { withApiAuthRequired } from "@auth0/nextjs-auth0"; import { withPageAuthRequired } from '@auth0/nextjs-auth0/client' import Button from '@mui/material/Button' import { CardContent } from '@mui/material' import Onboarding from '../../components/Onboarding' import { useState } from 'react' import { useEffect } from 'react' import { isObject } from 'util' import Orders from '../../components/Orders' const Dashboard = () => { const [profileData, setSellerProfileData] = useState(null); const [requestData, setSellerRequestData] = useState(null); const [onboardData, setOnboardedData] = useState(false); const [onboarding, setOnboarding] = useState(false); const [onboarded, setOnboarded] = useState(false); const setOnboardingTrue = () => { setOnboarding(true); } const getData = async () => { const profileResponse = await fetch('/api/artist/profile'); const sellerProfile = await profileResponse.json(); setSellerProfileData(sellerProfile); const requestResponse = await fetch('/api/artist/request'); const sellerRequest = await requestResponse.json(); setSellerRequestData(sellerRequest); const onboardedResponse = await fetch('/api/artist/onboarded'); const onboardedData = await onboardedResponse.json(); setOnboardedData(onboardedData["onboarded"]); setTimeout(getData, 5000); // Poll every 5 seconds (adjust as needed) if(sellerRequest != null && Object.keys(sellerRequest).length>0){ setOnboarding(true) } if(sellerProfile!=null && Object.keys(sellerProfile).length>0 && sellerRequest["accepted"]){ setOnboarded(true) } } useEffect(() => { getData(); }, []); return ( My Orders {( onboarding==true && onboardData==false ) ? ( ):( (onboarding) ? ( ) : ( ) )} ) } export default withPageAuthRequired(Dashboard)