import { useQuery } from "@apollo/client"; import { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import AccountingPayablesTable from "../../components/accounting-payables-table/accounting-payables-table.component"; import AlertComponent from "../../components/alert/alert.component"; import { checkPartnerStatus } from "../../components/partner-ping/partner-ping.component"; import RbacWrapper from "../../components/rbac-wrapper/rbac-wrapper.component"; import { QUERY_BILLS_FOR_EXPORT } from "../../graphql/accounting.queries"; import { setBreadcrumbs, setSelectedHeader } from "../../redux/application/application.actions"; import { selectPartnerVersion } from "../../redux/application/application.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors"; import FeatureWrapperComponent from "../../components/feature-wrapper/feature-wrapper.component"; import InstanceRenderManager from "../../utils/instanceRenderMgr"; import UpsellComponent, { upsellEnum } from "../../components/upsell/upsell.component"; import { Card } from "antd"; import { bodyshopHasDmsKey } from "../../utils/dmsUtils.js"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, partnerVersion: selectPartnerVersion }); const mapDispatchToProps = (dispatch) => ({ setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)), setSelectedHeader: (key) => dispatch(setSelectedHeader(key)) }); export function AccountingPayablesContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, partnerVersion }) { const { t } = useTranslation(); useEffect(() => { document.title = t("titles.accounting-payables", { app: InstanceRenderManager({ imex: "$t(titles.imexonline)", rome: "$t(titles.romeonline)" }) }); setSelectedHeader("payables"); setBreadcrumbs([ { link: "/manage/accounting/payables", label: t("titles.bc.accounting-payables") } ]); checkPartnerStatus(bodyshop, true); }, [t, setBreadcrumbs, setSelectedHeader, bodyshop]); const { loading, error, data, refetch } = useQuery(QUERY_BILLS_FOR_EXPORT, { fetchPolicy: "network-only", nextFetchPolicy: "network-only" }); if (error) return ; const noPath = !partnerVersion?.qbpath && !(bodyshop && (bodyshopHasDmsKey(bodyshop) || bodyshop?.accountingconfig?.qbo)); return (
} > {noPath && }
); } export default connect(mapStateToProps, mapDispatchToProps)(AccountingPayablesContainer);