import React from 'react'; import { makeStyles } from '@material-ui/core/styles'; import { Card, CardActionArea, CardMedia, Avatar, CardHeader } from '@material-ui/core/'; import { Poll } from '../types'; interface PropTypes { poll: Poll; } interface PercentageBarPropTypes { value: number; which: 'left' | 'right'; } const useStyles = makeStyles(theme => ({ root: { maxWidth: theme.spacing(75), height: theme.spacing(63), margin: '20px auto' }, images: { height: theme.spacing(50), width: theme.spacing(38) }, imagesBlock: { display: 'flex' }, percentage: { position: 'absolute', color: 'white', top: '86%', fontSize: 20 }, percentageLeft: { left: 30 }, percentageRight: { right: 30 } })); const PercentageBar: React.FC = ({ value, which }) => { const classes = useStyles(); const positionClassName = which === 'left' ? 'percentageLeft' : 'percentageRight'; return (
{value} %
); }; const PollCard: React.FC = ({ poll }) => { const classes = useStyles(); const { author, contents } = poll; const leftPercentage = Math.round(100 * (contents.left.votes / (contents.left.votes + contents.right.votes))); const rightPercentage = 100 - leftPercentage; return ( {author.name[0].toUpperCase()} )} title={author.name} />
); }; export default PollCard;