import Icon, { CarFilled, ClockCircleFilled, DollarCircleFilled, FileAddFilled, FileFilled, GlobalOutlined, HomeFilled, ImportOutlined, LineChartOutlined, ScheduleOutlined, TeamOutlined, ToolFilled, UnorderedListOutlined, UserOutlined, } from "@ant-design/icons"; import { Avatar, Menu } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; import { BsKanban } from "react-icons/bs"; import { FaCalendarAlt, FaCarCrash, FaCreditCard, FaFileInvoiceDollar, } from "react-icons/fa"; import { connect } from "react-redux"; import { Link } from "react-router-dom"; import { createStructuredSelector } from "reselect"; import { selectRecentItems, selectSelectedHeader, } from "../../redux/application/application.selectors"; import { setModalContext } from "../../redux/modals/modals.actions"; import { signOutStart } from "../../redux/user/user.actions"; import { selectCurrentUser } from "../../redux/user/user.selectors"; import GlobalSearch from "../global-search/global-search.component"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, recentItems: selectRecentItems, selectedHeader: selectSelectedHeader, }); const mapDispatchToProps = (dispatch) => ({ setBillEnterContext: (context) => dispatch(setModalContext({ context: context, modal: "billEnter" })), setTimeTicketContext: (context) => dispatch(setModalContext({ context: context, modal: "timeTicket" })), setPaymentContext: (context) => dispatch(setModalContext({ context: context, modal: "payment" })), setReportCenterContext: (context) => dispatch(setModalContext({ context: context, modal: "reportCenter" })), signOutStart: () => dispatch(signOutStart()), }); function Header({ handleMenuClick, currentUser, selectedHeader, signOutStart, setBillEnterContext, setTimeTicketContext, setPaymentContext, setReportCenterContext, recentItems, }) { const { t } = useTranslation(); return (
{t("menus.header.home")} {t("menus.header.schedule")} {t("menus.header.jobs")} } > {t("menus.header.activejobs")} {t("menus.header.parts-queue")} {t("menus.header.availablejobs")} {t("menus.header.alljobs")} {t("menus.header.productionlist")} {t("menus.header.productionboard")} {t("menus.header.scoreboard")} {t("menus.header.customers")} } > {t("menus.header.owners")} {t("menus.header.vehicles")} {t("menus.header.courtesycars")} } > {t("menus.header.courtesycars-all")} {t("menus.header.courtesycars-contracts")} {t("menus.header.courtesycars-newcontract")} {t("menus.header.accounting")} } > {t("menus.header.bills")} { setBillEnterContext({ actions: {}, context: {}, }); }} > {t("menus.header.enterbills")} {t("menus.header.allpayments")} { setPaymentContext({ actions: {}, context: null, }); }} > {t("menus.header.enterpayment")} {t("menus.header.timetickets")} { setTimeTicketContext({ actions: {}, context: {}, }); }} > {t("menus.header.entertimeticket")} {t("menus.header.accounting-receivables")} {t("menus.header.accounting-payables")} {t("menus.header.accounting-payments")} {t("menus.header.shop_config")} {t("menus.header.temporarydocs")} { // // // {t("menus.header.shop_templates")} // // } { setReportCenterContext({ actions: {}, context: {}, }); }} > {t("menus.header.reportcenter")} {t("menus.header.shop_vendors")} {t("menus.header.shop_csi")} {currentUser.photoURL ? ( ) : ( } /> )} {currentUser.displayName || currentUser.email || t("general.labels.unknown")}
} > signOutStart()}> {t("user.actions.signout")} { window.open("https://imexrescue.com/", "_blank"); }} > {t("menus.header.rescueme")} {t("menus.header.shiftclock")} {t("menus.currentuser.profile")} {t("menus.currentuser.languageselector")} } > {t("general.languages.english")} {t("general.languages.french")} {t("general.languages.spanish")} }> {recentItems.map((i, idx) => ( {i.label} ))} ); } export default connect(mapStateToProps, mapDispatchToProps)(Header);