Files
bee-dashboard/src/components/Code.tsx
T
Bálint Ujvári 519c411db0 feat: sync and update with all changes from fork (#720)
* feat: sync and update with all changes from fork
* refactor: extract clipboard copy logic into custom hook
* fix: correct spelling of DEFAULT_REFRESH_FREQUENCY_MS in Stamps and WalletBalance providers
* refactor(ui-tests): replace fixed sleeps with condition-based waits
* fix: handle null values for size and granteeCount in infoGroups
* fix(lint): add newline at end of file in useClipboardCopy hook
* fix(ui-tests): page.goto URL
* refactor: update import paths for useClipboardCopy

---------

Co-authored-by: Ferenc Sárai <sarai.ferenc@gmail.com>
2026-03-02 11:34:39 +01:00

37 lines
735 B
TypeScript

import { ReactElement } from 'react'
import { makeStyles } from 'tss-react/mui'
interface Props {
children: string
prettify?: boolean
}
const useStyles = makeStyles()(theme => ({
wrapper: {
overflow: 'scroll',
background: '#ffffff',
},
pre: {
maxHeight: '6em',
padding: theme.spacing(2),
},
}))
function prettifyString(string: string): string {
try {
return JSON.stringify(JSON.parse(string), null, 4)
} catch {
return string
}
}
export function Code({ children, prettify }: Props): ReactElement {
const { classes } = useStyles()
return (
<div className={classes.wrapper}>
<pre className={classes.pre}>{prettify ? prettifyString(children) : children}</pre>
</div>
)
}