| 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> |
| ); |
| } |
|
|