text: import React from 'react';
  import {connect} from 'react-redux'
  import clsx from 'clsx';
  import PropTypes from 'prop-types';
  import { makeStyles } from '@material-ui/styles';
  import { Card, CardContent, Grid, Typography, Avatar } from '@material-ui/core';
  import AttachMoneyIcon from '@material-ui/icons/AttachMoney';
  
  const useStyles = makeStyles(theme => ({
    root: {
      height: '100%',
      backgroundColor: theme.palette.secondary.main,
      color: theme.palette.secondary.contrastText
    },
    content: {
      alignItems: 'center',
      display: 'flex'
    },
    title: {
      fontWeight: 700
    },
    avatar: {
      backgroundColor: theme.palette.white,
      color: theme.palette.primary.main,
      height: 56,
      width: 56
    },
    icon: {
      height: 32,
      width: 32
    }
  }));
  
  const Total = props => {
    const { className, ...rest } = props;
  
    const classes = useStyles();
  
    return (
      <Card
        {...rest}
        className={clsx(classes.root, className)}
      >
        <CardContent>
          <Grid
            container
            justify="space-between"
          >
            <Grid item>
              <Typography
                className={classes.title}
                color="inherit"
                gutterBottom
                variant="body2"
              >
                TOTAL COINS
              </Typography>
              <Typography
                color="inherit"
                variant="h3"
              >
                {props.badge} Tokens
              </Typography>
            </Grid>
            <Grid item>
              <Avatar className={classes.avatar}>
                <AttachMoneyIcon className={classes.icon} />
              </Avatar>
            </Grid>
          </Grid>
        </CardContent>
      </Card>
    );
  };
  
  Total.propTypes = {
    className: PropTypes.string
  };
  
  const mapState = state => ({
    badge: state.badge,
  });
  
  const mapDispatch = ({ badge: { addBy, addByAsync }}) => ({
    addByOne: () => addBy(1),
    addByOneAsync: () => addByAsync(1)
  });
  
  export default connect(mapState, mapDispatch)(Total);
  
  
  
  