All files / client/components/Common Icon.tsx

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                            17x     1x   1x      
import React from 'react'
import MDIIcon from '@mdi/react'
import * as Icons from './Icons'
 
export type IconName = keyof typeof Icons
 
// TODO: support size and so far
interface Props {
  name: IconName
  spin: boolean
  className?: string
}
 
export default class Icon extends React.Component<Props> {
  static defaultProps = { spin: false }
 
  render() {
    const { name, spin, ...props } = this.props
 
    return <MDIIcon className="mdi-svg" path={Icons[name]} spin={spin} {...props} />
  }
}