Untitled
unknown
plain_text
5 months ago
4.1 kB
2
Indexable
import React, { Fragment, useEffect, useState } from "react"; import PropTypes from "prop-types"; import { withStyles } from "@material-ui/core/styles"; import Grid from "@material-ui/core/Grid"; import GroupsIcon from "@mui/icons-material/Groups"; import AccountCircleIcon from "@mui/icons-material/AccountCircle"; import CalendarMonthIcon from "@mui/icons-material/CalendarMonth"; import AssignmentOutlinedIcon from "@mui/icons-material/AssignmentOutlined"; import { injectIntl } from "react-intl"; import CounterWidget from "../Counter/CounterWidget"; import messages from "./messages"; import styles from "./widget-jss"; import { Link } from "react-router-dom"; import { connect } from "react-redux"; import { getTaskLife } from "../../api/auth"; import "./Task.css"; function CounterIconWidget(props) { const { classes, intl, data } = props; const count = data; if (data === null) { return null; } const [tasklife, setTaskelife] = useState([]); useEffect(() => { getTaskLife() .then((taskelife) => { setTaskelife(taskelife); props.sendTakeData(taskelife.length ?? 0); }) .catch((error) => { console.log(error); }); }, []); return ( <div className={classes.rootCounterFull}> <Grid container spacing={2}> <Fragment> <Grid item xs={6} md={3}> <Link to={"/app/clients"} className={classes.link_text} id="counterw"> <CounterWidget color="secondary-dark" start={0} end={count.clients} duration={3} title={intl.formatMessage(messages.Clients)} > <GroupsIcon className={classes.counterIcon} /> </CounterWidget> </Link> </Grid> <Grid item xs={6} md={3}> <Link className={classes.link_text} to={"/app/leads"} id="counterw1"> <CounterWidget color="secondary-main" start={0} end={count.prospect} duration={3} title={intl.formatMessage(messages.Leads)} > <AccountCircleIcon className={classes.counterIcon} /> </CounterWidget> </Link> </Grid> <Grid item xs={6} md={3}> <Link className={classes.link_text} to={"/app/full-task"} id="counterw2"> <CounterWidget color="secondary-main" start={0} end={tasklife ? tasklife.length : 0} duration={3} title={intl.formatMessage(messages.Tasks)} > <AssignmentOutlinedIcon className={classes.counterIcon} /> </CounterWidget> </Link> </Grid> <Grid item xs={6} md={3}> <Link className={classes.link_text} to={"/app/prospect"} id="counterw3"> <CounterWidget color="secondary-main" start={0} end={count.potential} duration={3} title={intl.formatMessage(messages.requestp_rojects)} > <CalendarMonthIcon className={classes.counterIcon} /> </CounterWidget> </Link> </Grid> </Fragment> </Grid> </div> ); } CounterIconWidget.defaultProps = { data: { clients: 0, prospect: 0, potential: 0, task: 0, development: 0, call: 0, task_done: 0, follow_us: 0, ticket: 0, sign_on_clients: 0, get_calls_made: 0, tickets_submitted: 0, articles_to_platforms: 0, documents: 0, }, }; CounterIconWidget.propTypes = { classes: PropTypes.object.isRequired, intl: PropTypes.object.isRequired, }; const mapStateToProps = (state) => { return { data: state.dashboardReducer.data, ...state, }; }; export default connect(mapStateToProps)( withStyles(styles)(injectIntl(CounterIconWidget)) );
Editor is loading...
Leave a Comment