import Icon, { CarFilled, DollarCircleFilled, FileAddFilled, FileFilled, GlobalOutlined, HomeFilled, TeamOutlined, UserOutlined } from "@ant-design/icons"; import { Avatar, Col, Layout, Menu, Row } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; import { FaCalendarAlt, FaCarCrash } from "react-icons/fa"; import { connect } from "react-redux"; import { Link } from "react-router-dom"; import { createStructuredSelector } from "reselect"; import { setModalContext } from "../../redux/modals/modals.actions"; import { signOutStart } from "../../redux/user/user.actions"; import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors"; import "./header.styles.scss"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ setInvoiceEnterContext: (context) => dispatch(setModalContext({ context: context, modal: "invoiceEnter" })), setTimeTicketContext: (context) => dispatch(setModalContext({ context: context, modal: "timeTicket" })), setPaymentContext: (context) => dispatch(setModalContext({ context: context, modal: "payment" })), signOutStart: () => dispatch(signOutStart()), }); const logoSpan = { xs: { span: 0, }, md: { span: 1, }, lg: { span: 2, }, }; const menuSpan = { xs: { span: 24, }, md: { span: 22, offset: 1, }, lg: { span: 21, offset: 1, }, }; function Header({ bodyshop, handleMenuClick, currentUser, signOutStart, setInvoiceEnterContext, setTimeTicketContext, setPaymentContext, }) { const { t } = useTranslation(); const { Header } = Layout; return (
{bodyshop {t("menus.header.home")} {t("menus.header.jobs")} }> {t("menus.header.schedule")} {t("menus.header.productionlist")} {t("menus.header.activejobs")} {t("menus.header.alljobs")} {t("menus.header.availablejobs")} {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")} }> { setPaymentContext({ actions: {}, context: {}, }); }}> {t("menus.header.enterpayment")} { setInvoiceEnterContext({ actions: {}, context: {}, }); }}> {t("menus.header.enterinvoices")} {t("menus.header.invoices")} { setTimeTicketContext({ actions: {}, context: {}, }); }}> {t("menus.header.entertimeticket")} {t("menus.header.accounting-receivables")} {t("menus.header.accounting-payables")} {t("menus.header.shop_config")} {t("menus.header.shop_templates")} {t("menus.header.shop_vendors")} {t("menus.header.shop_csi")} {currentUser.photoURL ? ( ) : ( } /> )} {currentUser.displayName || t("general.labels.unknown")} }> signOutStart()}> {t("user.actions.signout")} {t("menus.currentuser.profile")} {t("menus.currentuser.languageselector")} }> {t("general.languages.english")} {t("general.languages.french")} {t("general.languages.spanish")}
); } export default connect(mapStateToProps, mapDispatchToProps)(Header);