Spaces:
Sleeping
Sleeping
| import React from 'react'; | |
| import { Box, IconButton } from '@mui/material'; | |
| import ContentCopyIcon from '@mui/icons-material/ContentCopy'; | |
| const CodeBlock = ({ code }) => ( | |
| <Box sx={{ position: 'relative' }}> | |
| <IconButton | |
| onClick={() => navigator.clipboard.writeText(code)} | |
| sx={{ | |
| position: 'absolute', | |
| top: 8, | |
| right: 8, | |
| color: 'grey.500', | |
| '&:hover': { color: 'grey.300' }, | |
| }} | |
| > | |
| <ContentCopyIcon fontSize="small" /> | |
| </IconButton> | |
| <Box | |
| sx={{ | |
| backgroundColor: 'grey.900', | |
| color: 'grey.100', | |
| p: 2, | |
| borderRadius: 1, | |
| fontFamily: 'monospace', | |
| fontSize: '0.875rem', | |
| overflowX: 'auto', | |
| textAlign: 'left', | |
| whiteSpace: 'pre', | |
| }} | |
| > | |
| {code} | |
| </Box> | |
| </Box> | |
| ); | |
| export default CodeBlock; |