import type {
  MemberMessageReachChannel,
  MemberMessageReachStatus,
  MemberMessageTemplateCategory,
} from '#/api/member/message-reach';
import type { MemberMessageReachTabKey } from '#/views/member/message-reach/types';

/** 消息触达查看权限。 */
export const MEMBER_MESSAGE_REACH_VIEW_PERMISSION =
  'tenant:member:message-reach:view';

/** 消息触达管理权限。 */
export const MEMBER_MESSAGE_REACH_MANAGE_PERMISSION =
  'tenant:member:message-reach:manage';

/** 页面 Tab 选项。 */
export const MESSAGE_REACH_TAB_OPTIONS: Array<{
  label: string;
  value: MemberMessageReachTabKey;
}> = [
  { label: '消息列表', value: 'list' },
  { label: '消息模板', value: 'template' },
];

/** 状态筛选选项。 */
export const MESSAGE_REACH_STATUS_FILTER_OPTIONS: Array<{
  label: string;
  value: '' | MemberMessageReachStatus;
}> = [
  { label: '全部状态', value: '' },
  { label: '草稿', value: 'draft' },
  { label: '待发送', value: 'pending' },
  { label: '发送中', value: 'sending' },
  { label: '已发送', value: 'sent' },
  { label: '发送失败', value: 'failed' },
];

/** 渠道筛选选项。 */
export const MESSAGE_REACH_CHANNEL_FILTER_OPTIONS: Array<{
  label: string;
  value: '' | MemberMessageReachChannel;
}> = [
  { label: '全部渠道', value: '' },
  { label: '站内信', value: 'inapp' },
  { label: '短信', value: 'sms' },
  { label: '微信模板', value: 'wechat-mini' },
];

/** 模板分类筛选选项。 */
export const MESSAGE_TEMPLATE_CATEGORY_FILTER_OPTIONS: Array<{
  label: string;
  value: '' | MemberMessageTemplateCategory;
}> = [
  { label: '全部分类', value: '' },
  { label: '通知', value: 'notice' },
  { label: '营销', value: 'marketing' },
  { label: '召回', value: 'recall' },
];

/** 模板分类编辑选项。 */
export const MESSAGE_TEMPLATE_CATEGORY_OPTIONS: Array<{
  label: string;
  value: MemberMessageTemplateCategory;
}> = [
  { label: '通知', value: 'notice' },
  { label: '营销', value: 'marketing' },
  { label: '召回', value: 'recall' },
];

/** 抽屉渠道选项。 */
export const MESSAGE_REACH_CHANNEL_OPTIONS: Array<{
  label: string;
  value: MemberMessageReachChannel;
}> = [
  { label: '站内信', value: 'inapp' },
  { label: '短信', value: 'sms' },
  { label: '微信模板消息', value: 'wechat-mini' },
];

/** 固定标签选项。 */
export const MESSAGE_AUDIENCE_TAG_OPTIONS = [
  { label: '高频客户', value: '高频客户' },
  { label: '新客', value: '新客' },
  { label: '沉睡客户', value: '沉睡客户' },
  { label: '流失客户', value: '流失客户' },
  { label: '午餐常客', value: '午餐常客' },
  { label: '大额消费', value: '大额消费' },
] as const;

/** 目标人群选项。 */
export const MESSAGE_AUDIENCE_TYPE_OPTIONS = [
  { label: '全部会员', value: 'all' },
  { label: '按标签筛选', value: 'tag' },
] as const;

/** 发送时间选项。 */
export const MESSAGE_SCHEDULE_TYPE_OPTIONS = [
  { label: '立即发送', value: 'immediate' },
  { label: '定时发送', value: 'scheduled' },
] as const;

/** 表格分页尺寸选项。 */
export const MESSAGE_LIST_PAGE_SIZE_OPTIONS = ['10', '20', '50'];

/** 模板分页尺寸选项。 */
export const MESSAGE_TEMPLATE_PAGE_SIZE_OPTIONS = ['12', '24', '48'];
