bananas-commerce-admin
Version:
What's this, an admin for apes?
53 lines • 2.7 kB
JavaScript
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