From ff96c51601d7faf22e291c60fd8ba3038320e8cc Mon Sep 17 00:00:00 2001 From: Marius Butz Date: Tue, 1 Oct 2024 16:43:45 +0200 Subject: [PATCH] add button to download invoice for individual order --- src/components/admin/dialogs/OrderDetailsDialog.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/components/admin/dialogs/OrderDetailsDialog.tsx b/src/components/admin/dialogs/OrderDetailsDialog.tsx index 0e324a2..2cb2d65 100644 --- a/src/components/admin/dialogs/OrderDetailsDialog.tsx +++ b/src/components/admin/dialogs/OrderDetailsDialog.tsx @@ -18,6 +18,7 @@ import { getEventTitle } from "../../../constants/util"; import { ConfirmDialog } from "./ConfirmDialog"; import { useSnackbar } from "notistack"; import axios from "axios"; +import { SaveButton } from "../SaveButton"; export const OrderDetailsDialog = ({ order, @@ -53,6 +54,12 @@ export const OrderDetailsDialog = ({ } } + const downloadInvoice = async () => { + const response = await axios.get("/api/admin/order/" + order.id + "/invoice"); + const blob = await (await fetch(response.data)).blob() + window.open(URL.createObjectURL(blob)); + } + return ( <> @@ -93,6 +100,9 @@ export const OrderDetailsDialog = ({ order.user.customFields && Object.entries(JSON.parse(order.user.customFields)).map(field => `${field[0]}: ${field[1]}`) } + + Download Invoice +