/**
 * 文件职责：订单大厅纯工具函数（格式化、过滤等）。
 */
import dayjs from 'dayjs';

import { CHANNEL_MAP, DELIVERY_TYPE_MAP } from './constants';

/** 格式化金额（保留两位小数）。 */
export function formatAmount(value: number): string {
  return `¥${value.toFixed(2)}`;
}

/** 格式化时间为 HH:mm:ss。 */
export function formatTime(value?: null | string): string {
  if (!value) return '--';
  return dayjs(value).format('HH:mm:ss');
}

/** 格式化时间为 MM-DD HH:mm。 */
export function formatDateTime(value?: null | string): string {
  if (!value) return '--';
  return dayjs(value).format('MM-DD HH:mm');
}

/** 计算已用时间（分钟）。 */
export function elapsedMinutes(since?: null | string): number {
  if (!since) return 0;
  return Math.floor(dayjs().diff(dayjs(since), 'minute'));
}

/** 获取渠道文本。 */
export function channelText(channel: number): string {
  return CHANNEL_MAP[channel] ?? '未知';
}

/** 获取履约类型文本。 */
export function deliveryTypeText(deliveryType: number): string {
  return DELIVERY_TYPE_MAP[deliveryType] ?? '未知';
}
