diff --git a/frontend/src/components/common/OrdersTable/index.tsx b/frontend/src/components/common/OrdersTable/index.tsx index 1ddaabb586..78da39a7a1 100644 --- a/frontend/src/components/common/OrdersTable/index.tsx +++ b/frontend/src/components/common/OrdersTable/index.tsx @@ -44,6 +44,7 @@ import {TanStackTable, TanStackTableColumn} from "../TanStackTable"; import {ColumnVisibilityToggle} from "../ColumnVisibilityToggle"; import {CellContext} from "@tanstack/react-table"; import {formatCurrency} from "../../../utilites/currency.ts"; +import {eventCheckoutUrl} from "../../../utilites/urlHelper.ts"; interface OrdersTableProps { event: Event, @@ -152,6 +153,12 @@ export const OrdersTable = ({orders, event}: OrdersTableProps) => { leftSection={}>{t`Manage order`} handleModalClick(order.id, messageModal)} leftSection={}>{t`Message buyer`} + { + const url = eventCheckoutUrl(order.event_id, order.short_id, 'summary'); + clipboard.copy(url); + showSuccess(t`Customer link copied to clipboard`); + }} + leftSection={}>{t`Copy customer link`} {order.latest_invoice && ( handleInvoiceDownload(order.latest_invoice as Invoice)} diff --git a/frontend/src/utilites/urlHelper.ts b/frontend/src/utilites/urlHelper.ts index b32ca77f8f..5012f4603f 100644 --- a/frontend/src/utilites/urlHelper.ts +++ b/frontend/src/utilites/urlHelper.ts @@ -21,6 +21,10 @@ export const organizerHomepageUrl = (organizer: Organizer) => { return getConfig('VITE_FRONTEND_URL') + organizerHomepagePath(organizer); } +export const eventCheckoutUrl = (eventId: IdParam, orderShortId: IdParam, subPage = '') => { + return getConfig('VITE_FRONTEND_URL') + eventCheckoutPath(eventId, orderShortId, subPage); +} + export const eventHomepageUrl = (event: Event) => { return getConfig('VITE_FRONTEND_URL') + eventHomepagePath(event); }