519c411db0
* 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>
34 lines
693 B
TypeScript
34 lines
693 B
TypeScript
import { ReactElement } from 'react'
|
|
import { makeStyles } from 'tss-react/mui'
|
|
|
|
const useStyles = makeStyles()(() => ({
|
|
image: {
|
|
width: '100%',
|
|
height: '100%',
|
|
objectFit: 'cover',
|
|
},
|
|
}))
|
|
|
|
interface Props {
|
|
alt: string
|
|
src: string | undefined
|
|
maxHeight?: string
|
|
maxWidth?: string
|
|
}
|
|
|
|
export function FitImage(props: Props): ReactElement {
|
|
const { classes } = useStyles()
|
|
|
|
const inlineStyles: Record<string, string> = {}
|
|
|
|
if (props.maxHeight) {
|
|
inlineStyles.maxHeight = props.maxHeight
|
|
}
|
|
|
|
if (props.maxWidth) {
|
|
inlineStyles.maxWidth = props.maxWidth
|
|
}
|
|
|
|
return <img className={classes.image} alt={props.alt} src={props.src} style={inlineStyles} />
|
|
}
|