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 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 56x 1x 1x | import * as React from "react"
import { observer } from "mobx-react"
 
type TriangleProps = Readonly<{
    cx: number
    cy: number
    r: number
    fill?: string
    stroke?: string
    strokeWidth?: number
    transform?: string
}> &
    React.SVGProps<SVGPolygonElement>
 
@observer
export class Triangle extends React.Component<TriangleProps> {
    render(): JSX.Element {
        const { cx, cy, r } = this.props
        const x = cx - r,
            y = cy - r
        const points = [
            [x, y + r * 2],
            [x + (r * 2) / 2, y],
            [x + r * 2, y + r * 2],
        ]
 
        return (
            <polygon
                points={points
                    .map((p) => `${p[0].toFixed(2)},${p[1].toFixed(2)}`)
                    .join(" ")}
                {...this.props}
            />
        )
    }
}
  |