import {Chart} from 'react-google-charts'; import debug from './debug'; import { Accordion, AccordionDetails, AccordionSummary, Button, Typography, } from '@mui/material'; import {useState} from 'react'; import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown'; export default function DebugChart() { const [showDebugTimings, setShowDebugTimings] = useState<boolean>(false); const data = debug()?.getChartData(); const options = { timeline: { groupByRowLabel: true, }, }; return ( <div className="horizontal-padding-sra text-chunk-sra"> <Accordion expanded={showDebugTimings} onChange={() => setShowDebugTimings(!showDebugTimings)} elevation={0} sx={{border: 1, borderColor: 'rgba(0, 0, 0, 0.3)'}}> <AccordionSummary expandIcon={<ArrowDropDownIcon />} className="debug-section"> Debug Info </AccordionSummary> <AccordionDetails> {data && data.length > 1 ? ( <> <Chart chartType="Timeline" data={data} width="100%" height="400px" options={options} /> <Button variant="contained" sx={{marginBottom: 1}} onClick={() => { debug()?.downloadInputAudio(); debug()?.downloadOutputAudio(); }}> Download Input / Ouput Audio </Button> </> ) : ( <Typography>No input / output detected</Typography> )} </AccordionDetails> </Accordion> </div> ); }