Added Circle component

This commit is contained in:
Brandon Millman
2018-06-26 15:01:11 -07:00
parent 2474d1d2f4
commit 6a39a69afe
3 changed files with 21 additions and 6 deletions

View File

@@ -0,0 +1,16 @@
import * as React from 'react';
export interface CircleProps {
className?: string;
diameter: number;
fillColor: string;
}
export const Circle: React.StatelessComponent<CircleProps> = ({ className, diameter, fillColor }) => {
const radius = diameter / 2;
return (
<svg className={className} height={diameter} width={diameter}>
<circle cx={radius} cy={radius} r={radius} fill={fillColor} />
</svg>
);
};

View File

@@ -2,6 +2,7 @@ import blockies = require('blockies');
import * as _ from 'lodash';
import * as React from 'react';
import { Circle } from 'ts/components/ui/circle';
import { Image } from 'ts/components/ui/image';
import { colors } from 'ts/style/colors';
@@ -40,9 +41,7 @@ export class Identicon extends React.Component<IdenticonProps, IdenticonState> {
width={diameter}
/>
) : (
<svg height={diameter} width={diameter}>
<circle cx={radius} cy={radius} r={radius} fill={colors.grey200} />
</svg>
<Circle diameter={diameter} fillColor={colors.grey200} />
)}
</div>
);

View File

@@ -1,14 +1,14 @@
import * as React from 'react';
import { Circle } from 'ts/components/ui/circle';
export interface ListItemProps {
bulletColor?: string;
}
export const ListItem: React.StatelessComponent<ListItemProps> = ({ bulletColor, children }) => {
return (
<div className="flex items-center">
<svg className="flex-none lg-px2 md-px2 sm-pl2" height="26" width="26">
<circle cx="13" cy="13" r="13" fill={bulletColor || 'transparent'} />
</svg>
<Circle className="flex-none lg-px2 md-px2 sm-pl2" diameter={26} fillColor={bulletColor || 'transparent'} />
<div className="flex-auto px2">{children}</div>
</div>
);