import React, { useMemo } from "react"; import { Row, Col, Tag, Tooltip } from "antd"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { selectBodyshop } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect(mapStateToProps, mapDispatchToProps)(JobPartsQueueCount); export function JobPartsQueueCount({ bodyshop, parts }) { const partsStatus = useMemo(() => { if (!parts) return null; return parts.reduce( (acc, val) => { if (val.part_type === "PAS" || val.part_type === "PASL") return acc; acc.total = acc.total + val.count; acc[val.status] = acc[val.status] + val.count; return acc; }, { total: 0, null: 0, [bodyshop.md_order_statuses.default_bo]: 0, [bodyshop.md_order_statuses.default_ordered]: 0, [bodyshop.md_order_statuses.default_received]: 0, [bodyshop.md_order_statuses.default_returned]: 0, } ); }, [bodyshop, parts]); if (!parts) return null; return ( {partsStatus.total} {partsStatus["null"]} {partsStatus[bodyshop.md_order_statuses.default_ordered]} {partsStatus[bodyshop.md_order_statuses.default_received]} {partsStatus[bodyshop.md_order_statuses.default_returned]} {partsStatus[bodyshop.md_order_statuses.default_bo]} ); }