| | import React from 'react';
|
| | import { Button, Tooltip } from '@mui/material';
|
| | import DownloadIcon from '@mui/icons-material/Download';
|
| |
|
| | interface DownloadJsonButtonProps {
|
| | onClick: () => void;
|
| | disabled?: boolean;
|
| | }
|
| |
|
| | |
| | |
| |
|
| | export const DownloadJsonButton: React.FC<DownloadJsonButtonProps> = ({
|
| | onClick,
|
| | disabled = false,
|
| | }) => {
|
| | return (
|
| | <Tooltip
|
| | title={
|
| | disabled
|
| | ? "No trace available"
|
| | : "Download trace as JSON"
|
| | }
|
| | >
|
| | <span>
|
| | <Button
|
| | variant="outlined"
|
| | size="small"
|
| | onClick={onClick}
|
| | disabled={disabled}
|
| | startIcon={<DownloadIcon sx={{ fontSize: '1.2rem' }} />}
|
| | sx={{
|
| | textTransform: 'none',
|
| | fontSize: '0.75rem',
|
| | fontWeight: 600,
|
| | borderRadius: 1,
|
| | px: 1.5,
|
| | py: 0.5,
|
| | borderColor: 'divider',
|
| | color: 'text.primary',
|
| | '&:hover': {
|
| | borderColor: 'primary.main',
|
| | backgroundColor: 'action.hover',
|
| | },
|
| | '&.Mui-disabled': {
|
| | borderColor: 'divider',
|
| | color: 'text.disabled',
|
| | },
|
| | }}
|
| | >
|
| | Download JSON Trace
|
| | </Button>
|
| | </span>
|
| | </Tooltip>
|
| | );
|
| | };
|
| |
|