export function renderOrderCreatedTg({ orderId, totalCents, itemsCount, deliveryType }) {
  const total = (totalCents / 100).toLocaleString('ru-RU')
  const nextAction =
    deliveryType === 'delivery' ? 'Оплата будет доступна после уточнения стоимости доставки.' : 'Ожидает оплаты.'
  return `📦 <b>Новый заказ</b> #${orderId.slice(0, 8)}\nТоваров: ${itemsCount} | Сумма: ${total} ₽\n${nextAction}`
}

export function renderOrderStatusChangedTg({ orderId, oldStatus, newStatus }) {
  const labels = {
    DRAFT: 'Черновик',
    PENDING_PAYMENT: 'Ожидает оплаты',
    PAID: 'Оплачен',
    IN_PROGRESS: 'Подготовка к отправке',
    READY_FOR_PICKUP: 'Готов к выдаче',
    SHIPPED: 'Отправлен',
    DONE: 'Завершён',
    CANCELLED: 'Отменён',
  }
  return `🔄 Заказ #${orderId.slice(0, 8)}\n${labels[oldStatus] || oldStatus} → <b>${labels[newStatus] || newStatus}</b>`
}

export function renderOrderMessageTg({ orderId, preview }) {
  const truncated = preview.length > 300 ? preview.slice(0, 297) + '...' : preview
  return `💬 Сообщение к заказу #${orderId.slice(0, 8)}\n\n${truncated}`
}

export function renderPaymentStatusChangedTg({ orderId, paymentStatus }) {
  const labels = { pending: 'Ожидает', confirmed: 'Подтверждён', rejected: 'Отклонён' }
  return `💳 Оплата заказа #${orderId.slice(0, 8)}: <b>${labels[paymentStatus] || paymentStatus}</b>`
}

export function renderAdminOrderCreatedTg({ orderId, userEmail, totalCents, itemsCount, deliveryType }) {
  const total = (totalCents / 100).toLocaleString('ru-RU')
  const note = deliveryType === 'delivery' ? '\n\n⚠️ Скорректируйте стоимость доставки' : ''
  return `🛒 <b>Новый заказ</b> #${orderId.slice(0, 8)}\nОт: ${userEmail}\nТоваров: ${itemsCount} | Сумма: ${total} ₽${note}`
}

export function renderAdminNewReviewTg({ rating, text, productTitle, userName }) {
  const stars = '⭐'.repeat(rating)
  return `📝 <b>Новый отзыв</b> ${stars}\nТовар: ${productTitle}\nАвтор: ${userName}${text ? '\n\n' + text : ''}`
}

export function renderAuthCodeTg({ code }) {
  return `🔐 Код входа: <b>${code}</b>`
}

export function renderDeliveryFeeAdjustedTg({ orderId, totalCents }) {
  const total = (totalCents / 100).toLocaleString('ru-RU')
  return `💰 <b>Стоимость доставки скорректирована</b> для заказа #${orderId.slice(0, 8)}\nНовая сумма: ${total} ₽\n\nОжидает оплаты.`
}
