import { Link } from "react-router-dom"; import { FaCreditCard, FaFileInvoiceDollar } from "react-icons/fa"; import { GiPayMoney, GiPlayerTime } from "react-icons/gi"; import { BankFilled, ExportOutlined, FieldTimeOutlined } from "@ant-design/icons"; import LockWrapper from "../../components/lock-wrapper/lock-wrapper.component.jsx"; import { HasFeatureAccess } from "../../components/feature-wrapper/feature-wrapper.component"; // --- Menu Item Builders --- const buildAccountingChildren = ({ t, bodyshop, currentUser, setBillEnterContext, setPaymentContext, setCardPaymentContext, setTimeTicketContext, ImEXPay, DmsAp, Simple_Inventory }) => [ { key: "bills", id: "header-accounting-bills", icon: , label: ( {t("menus.header.bills")} ) }, { key: "enterbills", id: "header-accounting-enterbills", icon: , label: ( {t("menus.header.enterbills")} ), onClick: () => HasFeatureAccess({ featureName: "bills", bodyshop }) && setBillEnterContext({ actions: {}, context: {} }) }, ...(Simple_Inventory.treatment === "on" ? [ { type: "divider" }, { key: "inventory", id: "header-accounting-inventory", icon: , label: {t("menus.header.inventory")} } ] : []), { type: "divider" }, { key: "allpayments", id: "header-accounting-allpayments", icon: , label: {t("menus.header.allpayments")} }, { key: "enterpayments", id: "header-accounting-enterpayments", icon: , label: t("menus.header.enterpayment"), onClick: () => setPaymentContext({ actions: {}, context: null }) }, ...(ImEXPay.treatment === "on" ? [ { key: "entercardpayments", id: "header-accounting-entercardpayments", icon: , label: t("menus.header.entercardpayment"), onClick: () => setCardPaymentContext({ actions: {}, context: {} }) } ] : []), { type: "divider" }, { key: "timetickets", id: "header-accounting-timetickets", icon: , label: ( {t("menus.header.timetickets")} ) }, ...(bodyshop?.md_tasks_presets?.use_approvals ? [ { key: "ttapprovals", id: "header-accounting-ttapprovals", icon: , label: {t("menus.header.ttapprovals")} } ] : []), { key: "entertimetickets", id: "header-accounting-entertimetickets", icon: , label: ( {t("menus.header.entertimeticket")} ), onClick: () => HasFeatureAccess({ featureName: "timetickets", bodyshop }) && setTimeTicketContext({ actions: {}, context: { created_by: currentUser.displayName ? `${currentUser.email} | ${currentUser.displayName}` : currentUser.email } }) }, { type: "divider" }, { key: "accountingexport", id: "header-accounting-export", icon: , label: ( {t("menus.header.export")} ), children: [ { key: "receivables", id: "header-accounting-receivables", label: ( {t("menus.header.accounting-receivables")} ) }, ...(!((bodyshop && bodyshop.cdk_dealerid) || (bodyshop && bodyshop.pbs_serialnumber)) || DmsAp.treatment === "on" ? [ { key: "payables", id: "header-accounting-payables", label: ( {t("menus.header.accounting-payables")} ) } ] : []), ...(!((bodyshop && bodyshop.cdk_dealerid) || (bodyshop && bodyshop.pbs_serialnumber)) ? [ { key: "payments", id: "header-accounting-payments", label: ( {t("menus.header.accounting-payments")} ) } ] : []), { type: "divider" }, { key: "exportlogs", id: "header-accounting-exportlogs", label: ( {t("menus.header.export-logs")} ) } ] } ]; export default buildAccountingChildren;