saleor-dashboard/src/home/components/HomeActivityCard/activityMessages.ts

50 lines
1.3 KiB
TypeScript
Raw Normal View History

2019-08-29 10:55:56 +00:00
import { defineMessages, IntlShape } from "react-intl";
2019-06-19 14:40:52 +00:00
import { OrderEventsEnum } from "../../../types/globalTypes";
import { Home_activities_edges_node } from "../../types/Home";
2019-08-29 10:55:56 +00:00
const messages = defineMessages({
draft: {
defaultMessage: "Order #{orderId} was placed from draft by {userEmail}"
},
draft_no_email: {
defaultMessage: "Order #{orderId} was placed from draft"
},
2019-08-29 10:55:56 +00:00
paid: {
defaultMessage: "Order #{orderId} was fully paid"
},
placed: {
defaultMessage: "Order #{orderId} was placed"
}
});
export const getActivityMessage = (
activity: Home_activities_edges_node,
intl: IntlShape
) => {
2019-06-19 14:40:52 +00:00
switch (activity.type) {
case OrderEventsEnum.ORDER_FULLY_PAID:
2019-08-29 10:55:56 +00:00
return intl.formatMessage(messages.paid, {
2019-06-19 14:40:52 +00:00
orderId: activity.orderNumber
});
case OrderEventsEnum.PLACED:
2019-08-29 10:55:56 +00:00
return intl.formatMessage(messages.placed, {
2019-06-19 14:40:52 +00:00
orderId: activity.orderNumber
});
case OrderEventsEnum.PLACED_FROM_DRAFT:
if (!!activity.user?.email) {
return intl.formatMessage(messages.draft, {
orderId: activity.orderNumber,
userEmail: activity.user?.email
});
} else {
return intl.formatMessage(messages.draft_no_email, {
orderId: activity.orderNumber
});
}
2019-06-19 14:40:52 +00:00
default:
return activity.message;
}
};