import { RadarChartOutlined } from "@ant-design/icons"; import { Popover, Space } from "antd"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { Legend, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Radar, RadarChart, Tooltip } from "recharts"; import { createStructuredSelector } from "reselect"; import { selectBodyshop } from "../../redux/user/user.selectors"; import BlurWrapperComponent from "../feature-wrapper/blur-wrapper.component"; import { upsellEnum, UpsellMaskWrapper } from "../upsell/upsell.component"; import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component"; import { logImEXEvent } from "../../firebase/firebase.utils"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop }); const mapDispatchToProps = () => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export function ScheduleCalendarHeaderGraph({ bodyshop, loadData }) { const { ssbuckets } = bodyshop; const { t } = useTranslation(); const data = useMemo(() => { return ( (loadData?.expectedLoad && Object.keys(loadData.expectedLoad).map((key) => { const metadataBucket = ssbuckets.filter((b) => b.id === key)[0]; return { bucket: loadData.expectedLoad[key].label, current: loadData.expectedLoad[key].count, target: metadataBucket?.target }; })) || [] ); }, [loadData, ssbuckets]); const hasSmartSchedulingAccess = HasFeatureAccess({ featureName: "smartscheduling", bodyshop }); const chartContents = ( ); const popContent = (
{t("appointments.labels.expectedprodhrs")} {loadData?.expectedHours?.toFixed(1)} {t("appointments.labels.expectedjobs")} {loadData?.expectedJobCount} {hasSmartSchedulingAccess ? ( chartContents ) : ( {chartContents} )}
); return ( open && logImEXEvent("schedule_spider_graph", {})} content={popContent} > ); } export default connect(mapStateToProps, mapDispatchToProps)(ScheduleCalendarHeaderGraph);