UNPKG

bananas-commerce-admin

Version:

What's this, an admin for apes?

53 lines 2.7 kB
import React from "react"; import ReceiptLongOutlinedIcon from "@mui/icons-material/ReceiptLongOutlined"; import { useSnackbar } from "notistack"; import { Header } from "../../../../components/Header"; import { Page } from "../../../../components/Page"; import { Tab } from "../../../../components/Tab"; import { TabPanel } from "../../../../components/TabPanel"; import { TabPanels } from "../../../../components/TabPanels"; import { Tabs } from "../../../../components/Tabs"; import { TitleBar } from "../../../../components/TitleBar"; import Content, { TwoColumn } from "../../../../containers/Content"; import { useApi } from "../../../../contexts/ApiContext"; import { formatPurchaseNumber } from "../../../../util/format_purchase_number"; import CustomerCard from "../../components/CustomerCard"; import { ReceiptCard } from "../../components/ReceiptCard"; const PurchaseDetailPage = ({ data: purchase, refresh }) => { const api = useApi(); const { enqueueSnackbar } = useSnackbar(); const doRefund = (lines) => { api.operations["pos.purchase:refund-items"] .call({ params: { purchase_number: purchase.number }, body: lines.map(({ reference, quantity }) => ({ reference, quantity })), }) .then((response) => { if (response.ok) { enqueueSnackbar("Successfully refunded", { variant: "success", }); refresh(); } else { enqueueSnackbar("Failed to refund", { variant: "error", }); throw response; } }); }; return (React.createElement(Page, null, React.createElement(Header, { variant: "opaque" }, React.createElement(TitleBar, { title: `Purchase ${formatPurchaseNumber(purchase.number)}` }), React.createElement(Tabs, { data: purchase }, React.createElement(Tab, { key: "default", icon: React.createElement(ReceiptLongOutlinedIcon, null), label: "Receipt", value: "default" }))), React.createElement(TabPanels, { contribParams: { purchase_number: purchase.number } }, React.createElement(TabPanel, { key: "default", value: "default" }, React.createElement(Content, { layout: "fixedWidth" }, React.createElement(TwoColumn, null, purchase.lines.length > 0 && React.createElement(ReceiptCard, { purchase: purchase, refund: doRefund }), React.createElement(CustomerCard, { purchase: purchase }))))))); }; export default PurchaseDetailPage; //# sourceMappingURL=detail.js.map