/**
 * 文件职责：订单大厅常量与配置。
 */
import type { BoardColumnKey, BoardDeliveryFilter } from '../../types';

/** 看板列定义。 */
export const HALL_COLUMNS: {
  colorClass: string;
  key: BoardColumnKey;
  title: string;
}[] = [
  { key: 'pending', title: '待接单', colorClass: 'pending' },
  { key: 'making', title: '制作中', colorClass: 'making' },
  { key: 'delivering', title: '配送/待取', colorClass: 'delivering' },
  { key: 'completed', title: '已完成', colorClass: 'done' },
];

/** 履约类型筛选选项。 */
export const DELIVERY_FILTER_OPTIONS: {
  label: string;
  value: BoardDeliveryFilter;
}[] = [
  { value: 'all', label: '全部' },
  { value: 'delivery', label: '外卖' },
  { value: 'pickup', label: '自提' },
  { value: 'dineIn', label: '堂食' },
];

/** 订单状态映射。 */
export const ORDER_STATUS_MAP: Record<number, string> = {
  0: '待付款',
  1: '待接单',
  2: '制作中',
  3: '待取餐',
  4: '已完成',
  5: '已取消',
};

/** 渠道映射。 */
export const CHANNEL_MAP: Record<number, string> = {
  0: '未知',
  1: '小程序',
  2: '扫码点餐',
  3: '收银台',
  4: '电话预约',
  5: '第三方',
};

/** 履约类型映射。 */
export const DELIVERY_TYPE_MAP: Record<number, string> = {
  0: '堂食',
  1: '自提',
  2: '外卖',
};

/** 渠道标签颜色。 */
export const CHANNEL_TAG_COLORS: Record<number, string> = {
  1: 'green',
  2: 'blue',
  3: 'orange',
  4: 'purple',
  5: 'red',
};

/** 履约类型标签颜色（原型：外卖=blue, 自提=green, 堂食=orange）。 */
export const DELIVERY_TYPE_TAG_COLORS: Record<number, string> = {
  0: 'orange',
  1: 'green',
  2: 'blue',
};

/** 履约类型筛选值到 API 参数的映射。 */
export const DELIVERY_FILTER_VALUE_MAP: Record<string, number | undefined> = {
  all: undefined,
  delivery: 2,
  dineIn: 0,
  pickup: 1,
};
