diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json index 9c4b4ab7f..92c2a31a8 100644 --- a/locale/defaultMessages.json +++ b/locale/defaultMessages.json @@ -1903,6 +1903,10 @@ "DRMMDs": { "string": "Attribute Name" }, + "DRwqnt": { + "context": "order history message", + "string": "Transaction capture requested" + }, "DTL7sE": { "context": "dialog content", "string": "Are you sure you want to delete {warehouseName}?" @@ -4794,6 +4798,10 @@ "ZIc5lM": { "string": "Product Name" }, + "ZKuzRy": { + "context": "order history message", + "string": "Transaction void requested" + }, "ZMy18J": { "string": "You have reached your channel limit, you will be no longer able to add channels to your store. If you would like to up your limit, contact your administration staff about raising your limits." }, @@ -5505,6 +5513,10 @@ "context": "custom app name", "string": "App Name" }, + "fqJXzO": { + "context": "order history message", + "string": "Transaction refund requested" + }, "ftcHpD": { "string": "Customer created" }, diff --git a/src/orders/components/OrderHistory/OrderHistory.tsx b/src/orders/components/OrderHistory/OrderHistory.tsx index 1685f112d..9a403774e 100644 --- a/src/orders/components/OrderHistory/OrderHistory.tsx +++ b/src/orders/components/OrderHistory/OrderHistory.tsx @@ -9,323 +9,21 @@ import { TimelineEventProps, TimelineNote, } from "@saleor/components/Timeline"; -import { - OrderEventFragment, - OrderEventsEmailsEnum, - OrderEventsEnum, -} from "@saleor/graphql"; +import { OrderEventFragment } from "@saleor/graphql"; import { SubmitPromise } from "@saleor/hooks/useForm"; -import { makeStyles } from "@saleor/macaw-ui"; import React from "react"; -import { FormattedMessage, IntlShape, useIntl } from "react-intl"; +import { FormattedMessage, useIntl } from "react-intl"; import ExtendedTimelineEvent from "./ExtendedTimelineEvent"; import LinkedTimelineEvent from "./LinkedTimelineEvent"; +import { getEventMessage } from "./messages"; +import { useStyles } from "./styles"; import { getEventSecondaryTitle, isTimelineEventOfType } from "./utils"; -export const getEventMessage = (event: OrderEventFragment, intl: IntlShape) => { - const getUserOrApp = () => { - if (event.user) { - return event.user.email; - } - if (event.app) { - return event.app.name; - } - }; - - switch (event.type) { - case OrderEventsEnum.CANCELED: - return intl.formatMessage({ - id: "zRrcOG", - defaultMessage: "Order was cancelled", - description: "order history message", - }); - case OrderEventsEnum.ADDED_PRODUCTS: - return intl.formatMessage({ - id: "U1eJIw", - defaultMessage: "Products were added to an order", - description: "order history message", - }); - case OrderEventsEnum.DRAFT_CREATED: - return intl.formatMessage({ - id: "hWO1SD", - defaultMessage: "Draft order was created", - description: "order history message", - }); - case OrderEventsEnum.REMOVED_PRODUCTS: - return intl.formatMessage({ - id: "fehqPs", - defaultMessage: "Products were deleted from an order", - description: "order history message", - }); - case OrderEventsEnum.EMAIL_SENT: - switch (event.emailType) { - case OrderEventsEmailsEnum.DIGITAL_LINKS: - return intl.formatMessage({ - id: "OzHN0Z", - defaultMessage: "Links to the order's digital goods were sent", - description: "order history message", - }); - case OrderEventsEmailsEnum.FULFILLMENT_CONFIRMATION: - return intl.formatMessage({ - id: "aq5ZiN", - defaultMessage: "Fulfillment confirmation was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.CONFIRMED: - return intl.formatMessage({ - id: "cqZ5UH", - defaultMessage: "Order confirmation was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.PAYMENT_CONFIRMATION: - return intl.formatMessage({ - id: "4Z6BtA", - defaultMessage: "Payment confirmation was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.SHIPPING_CONFIRMATION: - return intl.formatMessage({ - id: "BCPrmK", - defaultMessage: "Shipping details was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.TRACKING_UPDATED: - return intl.formatMessage({ - id: "j3yE7I", - defaultMessage: "Shipping tracking number was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.ORDER_CANCEL: - return intl.formatMessage({ - id: "06bR4Z", - defaultMessage: "Order cancel information was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.ORDER_CONFIRMATION: - return intl.formatMessage({ - id: "oQ27V4", - defaultMessage: "Order placed information was sent to customer", - description: "order history message", - }); - case OrderEventsEmailsEnum.ORDER_REFUND: - return intl.formatMessage({ - id: "9piUVz", - defaultMessage: "Order refund information was sent to customer", - description: "order history message", - }); - } - case OrderEventsEnum.FULFILLMENT_CANCELED: - return intl.formatMessage({ - id: "GLy2UR", - defaultMessage: "Fulfillment was cancelled", - description: "order history message", - }); - case OrderEventsEnum.INVOICE_REQUESTED: - return intl.formatMessage( - { - id: "chvryR", - defaultMessage: "Invoice was requested by {requestedBy}", - description: "order history message", - }, - { - requestedBy: getUserOrApp(), - }, - ); - case OrderEventsEnum.INVOICE_GENERATED: - return intl.formatMessage( - { - id: "pTpx0p", - defaultMessage: - "Invoice no. {invoiceNumber} was generated by {generatedBy}", - description: "order history message", - }, - { - generatedBy: getUserOrApp(), - invoiceNumber: event.invoiceNumber, - }, - ); - case OrderEventsEnum.INVOICE_UPDATED: - return intl.formatMessage( - { - id: "6RQKxH", - defaultMessage: "Invoice no. {invoiceNumber} was updated", - description: "order history message", - }, - { - invoiceNumber: event.invoiceNumber, - }, - ); - case OrderEventsEnum.INVOICE_SENT: - return intl.formatMessage( - { - id: "qddy2Z", - defaultMessage: "Invoice was sent to customer by {sentBy}", - description: "order history message", - }, - { - sentBy: getUserOrApp(), - }, - ); - case OrderEventsEnum.FULFILLMENT_AWAITS_APPROVAL: - return intl.formatMessage({ - id: "PcPMjC", - defaultMessage: "Fulfillment awaits approval", - description: "order history message", - }); - case OrderEventsEnum.FULFILLMENT_FULFILLED_ITEMS: - return intl.formatMessage( - { - id: "nHmugP", - defaultMessage: "Fulfilled {quantity} items", - description: "order history message", - }, - { - quantity: event.quantity, - }, - ); - case OrderEventsEnum.FULFILLMENT_REFUNDED: - return intl.formatMessage( - { - id: "D3WUc/", - defaultMessage: "Order was refunded by {refundedBy}", - description: "order history message", - }, - { - refundedBy: getUserOrApp(), - }, - ); - case OrderEventsEnum.FULFILLMENT_RESTOCKED_ITEMS: - return intl.formatMessage( - { - id: "wOeIR4", - defaultMessage: "Restocked {quantity} items", - description: "order history message", - }, - { - quantity: event.quantity, - }, - ); - case OrderEventsEnum.NOTE_ADDED: - return intl.formatMessage({ - id: "6WRFp2", - defaultMessage: "Note was added to the order", - description: "order history message", - }); - case OrderEventsEnum.ORDER_FULLY_PAID: - return intl.formatMessage({ - id: "P/EDn1", - defaultMessage: "Order was fully paid", - description: "order history message", - }); - case OrderEventsEnum.ORDER_MARKED_AS_PAID: - return intl.formatMessage({ - id: "fkplbE", - defaultMessage: "Order was marked as paid", - description: "order history message", - }); - case OrderEventsEnum.OTHER: - return event.message; - case OrderEventsEnum.OVERSOLD_ITEMS: - return intl.formatMessage( - { - id: "Fl3ORD", - defaultMessage: "Oversold {quantity} items", - description: "order history message", - }, - { - quantity: event.quantity, - }, - ); - case OrderEventsEnum.PAYMENT_CAPTURED: - return intl.formatMessage({ - id: "2yV+s8", - defaultMessage: "Payment was captured", - description: "order history message", - }); - case OrderEventsEnum.PAYMENT_FAILED: - return intl.formatMessage({ - id: "TCR639", - defaultMessage: "Payment failed", - description: "order history message", - }); - case OrderEventsEnum.PAYMENT_REFUNDED: - return intl.formatMessage({ - id: "3fgyFh", - defaultMessage: "Payment was refunded", - description: "order history message", - }); - case OrderEventsEnum.PAYMENT_VOIDED: - return intl.formatMessage({ - id: "8RnPGF", - defaultMessage: "Payment was voided", - description: "order history message", - }); - case OrderEventsEnum.PLACED: - return intl.formatMessage({ - id: "GJAX0z", - defaultMessage: "Order was placed", - description: "order history message", - }); - case OrderEventsEnum.PLACED_FROM_DRAFT: - return intl.formatMessage({ - id: "OKGd/k", - defaultMessage: "Order was created from draft", - description: "order history message", - }); - case OrderEventsEnum.TRACKING_UPDATED: - return intl.formatMessage({ - id: "e92Uxp", - defaultMessage: "Updated fulfillment group's tracking number", - description: "order history message", - }); - case OrderEventsEnum.UPDATED_ADDRESS: - return intl.formatMessage({ - id: "RLTaAR", - defaultMessage: "Order address was updated", - description: "order history message", - }); - case OrderEventsEnum.PAYMENT_AUTHORIZED: - return intl.formatMessage({ - id: "GVM/fi", - defaultMessage: "Payment was authorized", - description: "order history message", - }); - case OrderEventsEnum.CONFIRMED: - return intl.formatMessage({ - id: "ubasgL", - defaultMessage: "Order was confirmed", - description: "order history message", - }); - case OrderEventsEnum.EXTERNAL_SERVICE_NOTIFICATION: - return event.message; - } -}; - export interface FormData { message: string; } -const useStyles = makeStyles( - theme => ({ - eventSubtitle: { - marginTop: theme.spacing(1), - }, - header: { - fontWeight: 500, - marginBottom: theme.spacing(1), - }, - linesTableCell: { - paddingRight: theme.spacing(3), - }, - root: { marginTop: theme.spacing(4) }, - user: { - marginBottom: theme.spacing(1), - }, - }), - { name: "OrderHistory" }, -); - interface OrderHistoryProps { history: OrderEventFragment[]; orderCurrency: string; diff --git a/src/orders/components/OrderHistory/messages.ts b/src/orders/components/OrderHistory/messages.ts new file mode 100644 index 000000000..5f110a208 --- /dev/null +++ b/src/orders/components/OrderHistory/messages.ts @@ -0,0 +1,303 @@ +import { + OrderEventFragment, + OrderEventsEmailsEnum, + OrderEventsEnum, +} from "@saleor/graphql"; +import { IntlShape } from "react-intl"; + +export const getEventMessage = (event: OrderEventFragment, intl: IntlShape) => { + const getUserOrApp = () => { + if (event.user) { + return event.user.email; + } + if (event.app) { + return event.app.name; + } + }; + + switch (event.type) { + case OrderEventsEnum.CANCELED: + return intl.formatMessage({ + id: "zRrcOG", + defaultMessage: "Order was cancelled", + description: "order history message", + }); + case OrderEventsEnum.ADDED_PRODUCTS: + return intl.formatMessage({ + id: "U1eJIw", + defaultMessage: "Products were added to an order", + description: "order history message", + }); + case OrderEventsEnum.DRAFT_CREATED: + return intl.formatMessage({ + id: "hWO1SD", + defaultMessage: "Draft order was created", + description: "order history message", + }); + case OrderEventsEnum.REMOVED_PRODUCTS: + return intl.formatMessage({ + id: "fehqPs", + defaultMessage: "Products were deleted from an order", + description: "order history message", + }); + case OrderEventsEnum.EMAIL_SENT: + switch (event.emailType) { + case OrderEventsEmailsEnum.DIGITAL_LINKS: + return intl.formatMessage({ + id: "OzHN0Z", + defaultMessage: "Links to the order's digital goods were sent", + description: "order history message", + }); + case OrderEventsEmailsEnum.FULFILLMENT_CONFIRMATION: + return intl.formatMessage({ + id: "aq5ZiN", + defaultMessage: "Fulfillment confirmation was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.CONFIRMED: + return intl.formatMessage({ + id: "cqZ5UH", + defaultMessage: "Order confirmation was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.PAYMENT_CONFIRMATION: + return intl.formatMessage({ + id: "4Z6BtA", + defaultMessage: "Payment confirmation was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.SHIPPING_CONFIRMATION: + return intl.formatMessage({ + id: "BCPrmK", + defaultMessage: "Shipping details was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.TRACKING_UPDATED: + return intl.formatMessage({ + id: "j3yE7I", + defaultMessage: "Shipping tracking number was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.ORDER_CANCEL: + return intl.formatMessage({ + id: "06bR4Z", + defaultMessage: "Order cancel information was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.ORDER_CONFIRMATION: + return intl.formatMessage({ + id: "oQ27V4", + defaultMessage: "Order placed information was sent to customer", + description: "order history message", + }); + case OrderEventsEmailsEnum.ORDER_REFUND: + return intl.formatMessage({ + id: "9piUVz", + defaultMessage: "Order refund information was sent to customer", + description: "order history message", + }); + } + case OrderEventsEnum.FULFILLMENT_CANCELED: + return intl.formatMessage({ + id: "GLy2UR", + defaultMessage: "Fulfillment was cancelled", + description: "order history message", + }); + case OrderEventsEnum.INVOICE_REQUESTED: + return intl.formatMessage( + { + id: "chvryR", + defaultMessage: "Invoice was requested by {requestedBy}", + description: "order history message", + }, + { + requestedBy: getUserOrApp(), + }, + ); + case OrderEventsEnum.INVOICE_GENERATED: + return intl.formatMessage( + { + id: "pTpx0p", + defaultMessage: + "Invoice no. {invoiceNumber} was generated by {generatedBy}", + description: "order history message", + }, + { + generatedBy: getUserOrApp(), + invoiceNumber: event.invoiceNumber, + }, + ); + case OrderEventsEnum.INVOICE_UPDATED: + return intl.formatMessage( + { + id: "6RQKxH", + defaultMessage: "Invoice no. {invoiceNumber} was updated", + description: "order history message", + }, + { + invoiceNumber: event.invoiceNumber, + }, + ); + case OrderEventsEnum.INVOICE_SENT: + return intl.formatMessage( + { + id: "qddy2Z", + defaultMessage: "Invoice was sent to customer by {sentBy}", + description: "order history message", + }, + { + sentBy: getUserOrApp(), + }, + ); + case OrderEventsEnum.FULFILLMENT_AWAITS_APPROVAL: + return intl.formatMessage({ + id: "PcPMjC", + defaultMessage: "Fulfillment awaits approval", + description: "order history message", + }); + case OrderEventsEnum.FULFILLMENT_FULFILLED_ITEMS: + return intl.formatMessage( + { + id: "nHmugP", + defaultMessage: "Fulfilled {quantity} items", + description: "order history message", + }, + { + quantity: event.quantity, + }, + ); + case OrderEventsEnum.FULFILLMENT_REFUNDED: + return intl.formatMessage( + { + id: "D3WUc/", + defaultMessage: "Order was refunded by {refundedBy}", + description: "order history message", + }, + { + refundedBy: getUserOrApp(), + }, + ); + case OrderEventsEnum.FULFILLMENT_RESTOCKED_ITEMS: + return intl.formatMessage( + { + id: "wOeIR4", + defaultMessage: "Restocked {quantity} items", + description: "order history message", + }, + { + quantity: event.quantity, + }, + ); + case OrderEventsEnum.NOTE_ADDED: + return intl.formatMessage({ + id: "6WRFp2", + defaultMessage: "Note was added to the order", + description: "order history message", + }); + case OrderEventsEnum.ORDER_FULLY_PAID: + return intl.formatMessage({ + id: "P/EDn1", + defaultMessage: "Order was fully paid", + description: "order history message", + }); + case OrderEventsEnum.ORDER_MARKED_AS_PAID: + return intl.formatMessage({ + id: "fkplbE", + defaultMessage: "Order was marked as paid", + description: "order history message", + }); + case OrderEventsEnum.OTHER: + return event.message; + case OrderEventsEnum.OVERSOLD_ITEMS: + return intl.formatMessage( + { + id: "Fl3ORD", + defaultMessage: "Oversold {quantity} items", + description: "order history message", + }, + { + quantity: event.quantity, + }, + ); + case OrderEventsEnum.PAYMENT_CAPTURED: + return intl.formatMessage({ + id: "2yV+s8", + defaultMessage: "Payment was captured", + description: "order history message", + }); + case OrderEventsEnum.PAYMENT_FAILED: + return intl.formatMessage({ + id: "TCR639", + defaultMessage: "Payment failed", + description: "order history message", + }); + case OrderEventsEnum.PAYMENT_REFUNDED: + return intl.formatMessage({ + id: "3fgyFh", + defaultMessage: "Payment was refunded", + description: "order history message", + }); + case OrderEventsEnum.PAYMENT_VOIDED: + return intl.formatMessage({ + id: "8RnPGF", + defaultMessage: "Payment was voided", + description: "order history message", + }); + case OrderEventsEnum.PLACED: + return intl.formatMessage({ + id: "GJAX0z", + defaultMessage: "Order was placed", + description: "order history message", + }); + case OrderEventsEnum.PLACED_FROM_DRAFT: + return intl.formatMessage({ + id: "OKGd/k", + defaultMessage: "Order was created from draft", + description: "order history message", + }); + case OrderEventsEnum.TRACKING_UPDATED: + return intl.formatMessage({ + id: "e92Uxp", + defaultMessage: "Updated fulfillment group's tracking number", + description: "order history message", + }); + case OrderEventsEnum.UPDATED_ADDRESS: + return intl.formatMessage({ + id: "RLTaAR", + defaultMessage: "Order address was updated", + description: "order history message", + }); + case OrderEventsEnum.PAYMENT_AUTHORIZED: + return intl.formatMessage({ + id: "GVM/fi", + defaultMessage: "Payment was authorized", + description: "order history message", + }); + case OrderEventsEnum.CONFIRMED: + return intl.formatMessage({ + id: "ubasgL", + defaultMessage: "Order was confirmed", + description: "order history message", + }); + case OrderEventsEnum.TRANSACTION_REFUND_REQUESTED: + return intl.formatMessage({ + id: "fqJXzO", + defaultMessage: "Transaction refund requested", + description: "order history message", + }); + case OrderEventsEnum.TRANSACTION_VOID_REQUESTED: + return intl.formatMessage({ + id: "ZKuzRy", + defaultMessage: "Transaction void requested", + description: "order history message", + }); + case OrderEventsEnum.TRANSACTION_CAPTURE_REQUESTED: + return intl.formatMessage({ + id: "DRwqnt", + defaultMessage: "Transaction capture requested", + description: "order history message", + }); + case OrderEventsEnum.EXTERNAL_SERVICE_NOTIFICATION: + return event.message; + } +}; diff --git a/src/orders/components/OrderHistory/styles.ts b/src/orders/components/OrderHistory/styles.ts new file mode 100644 index 000000000..67bcb3075 --- /dev/null +++ b/src/orders/components/OrderHistory/styles.ts @@ -0,0 +1,21 @@ +import { makeStyles } from "@saleor/macaw-ui"; + +export const useStyles = makeStyles( + theme => ({ + eventSubtitle: { + marginTop: theme.spacing(1), + }, + header: { + fontWeight: 500, + marginBottom: theme.spacing(1), + }, + linesTableCell: { + paddingRight: theme.spacing(3), + }, + root: { marginTop: theme.spacing(4) }, + user: { + marginBottom: theme.spacing(1), + }, + }), + { name: "OrderHistory" }, +); diff --git a/src/orders/components/OrderHistory/utils.tsx b/src/orders/components/OrderHistory/utils.tsx index b7610829e..9dab0ab8c 100644 --- a/src/orders/components/OrderHistory/utils.tsx +++ b/src/orders/components/OrderHistory/utils.tsx @@ -48,6 +48,7 @@ const timelineEventTypes = { rawMessage: [ OrderEventsEnum.OTHER, OrderEventsEnum.EXTERNAL_SERVICE_NOTIFICATION, + OrderEventsEnum.TRANSACTION_EVENT, ], secondaryTitle: [OrderEventsEnum.ORDER_MARKED_AS_PAID], };