feat: improve notifications - fix auth code tg duplicate, double order notify, add PAID label, expand text, add deliveryFeeAdjusted event
This commit is contained in:
@@ -14,12 +14,15 @@ function baseLayout(title, body) {
|
||||
</html>`;
|
||||
}
|
||||
|
||||
export function renderOrderCreatedEmail({ orderId, totalCents, itemsCount }) {
|
||||
export function renderOrderCreatedEmail({ orderId, totalCents, itemsCount, deliveryType }) {
|
||||
const total = (totalCents / 100).toLocaleString("ru-RU");
|
||||
const nextAction = deliveryType === "delivery"
|
||||
? "Оплата будет доступна после уточнения стоимости доставки."
|
||||
: "Ожидает оплаты.";
|
||||
const body = `
|
||||
<p>Ваш заказ <b>#${orderId.slice(0, 8)}</b> успешно создан.</p>
|
||||
<p>Товаров: ${itemsCount} | Сумма: <b>${total} ₽</b></p>
|
||||
<p>Мы сообщим вам об изменениях статуса.</p>
|
||||
<p>${nextAction}</p>
|
||||
`;
|
||||
return { subject: "Заказ создан", html: baseLayout("Заказ создан", body) };
|
||||
}
|
||||
@@ -32,6 +35,7 @@ export function renderOrderStatusChangedEmail({
|
||||
const statusLabels = {
|
||||
DRAFT: "Черновик",
|
||||
PENDING_PAYMENT: "Ожидает оплаты",
|
||||
PAID: "Оплачен",
|
||||
IN_PROGRESS: "В работе",
|
||||
READY_FOR_PICKUP: "Готов к выдаче",
|
||||
SHIPPED: "Отправлен",
|
||||
@@ -87,11 +91,16 @@ export function renderAdminOrderCreatedEmail({
|
||||
userEmail,
|
||||
totalCents,
|
||||
itemsCount,
|
||||
deliveryType,
|
||||
}) {
|
||||
const total = (totalCents / 100).toLocaleString("ru-RU");
|
||||
const note = deliveryType === "delivery"
|
||||
? '<p>⚠️ <b>Скорректируйте стоимость доставки</b> в админ-панели.</p>'
|
||||
: "";
|
||||
const body = `
|
||||
<p>Новый заказ <b>#${orderId.slice(0, 8)}</b> от <b>${userEmail}</b>.</p>
|
||||
<p>Товаров: ${itemsCount} | Сумма: <b>${total} ₽</b></p>
|
||||
${note}
|
||||
`;
|
||||
return { subject: "Новый заказ", html: baseLayout("Новый заказ", body) };
|
||||
}
|
||||
@@ -118,3 +127,16 @@ export function renderAuthCodeEmail({ code }) {
|
||||
`;
|
||||
return { subject: "Код входа", html: baseLayout("Код входа", body) };
|
||||
}
|
||||
|
||||
export function renderDeliveryFeeAdjustedEmail({ orderId, totalCents }) {
|
||||
const total = (totalCents / 100).toLocaleString("ru-RU");
|
||||
const body = `
|
||||
<p>Стоимость доставки заказа <b>#${orderId.slice(0, 8)}</b> скорректирована.</p>
|
||||
<p>Новая сумма: <b>${total} ₽</b></p>
|
||||
<p>Ожидает оплаты. Проверьте статус заказа в личном кабинете.</p>
|
||||
`;
|
||||
return {
|
||||
subject: "Стоимость доставки скорректирована",
|
||||
html: baseLayout("Стоимость доставки скорректирована", body),
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user