Anna Sun
Initial OSS demo commit
2bd3674
raw
history blame
1.71 kB
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>
);
}