export type MessageCategoryCode = 'all' | 'approval' | 'task' | 'content' | 'live' | 'system';

export type MessageIconName = 'Bell' | 'DocumentChecked' | 'List' | 'Upload' | 'VideoCamera' | 'Lock';

export type MessageCategory = {
    code: MessageCategoryCode;
    name: string;
    icon: MessageIconName;
    total: number;
    unread: number;
    color: string;
    bgColor: string;
    summary: string;
};

export type MessageTag = {
    label: string;
    tone: 'warning' | 'primary' | 'success' | 'danger' | 'info';
};

export type MessageRecord = {
    id: string;
    category: Exclude<MessageCategoryCode, 'all'>;
    type: string;
    title: string;
    content: string;
    meta: string[];
    tags: MessageTag[];
    date: string;
    time: string;
    state: string;
    stateTone: 'pending' | 'doing' | 'done' | 'failed' | 'available' | 'expired';
    unread: boolean;
};

export const messageCategories: MessageCategory[] = [
    {
        code: 'all',
        name: '全部消息',
        icon: 'Bell',
        total: 22,
        unread: 16,
        color: '#8a22ff',
        bgColor: '#f6ecff',
        summary: '共 22 条',
    },
    {
        code: 'approval',
        name: '审批待办',
        icon: 'DocumentChecked',
        total: 1,
        unread: 1,
        color: '#e96500',
        bgColor: '#fff7df',
        summary: '1 条 · 需要你处理的积分...',
    },
    {
        code: 'task',
        name: '任务协作',
        icon: 'List',
        total: 6,
        unread: 5,
        color: '#236cff',
        bgColor: '#edf5ff',
        summary: '6 条 · 发布人与执行人的...',
    },
    {
        code: 'content',
        name: '内容资源',
        icon: 'Upload',
        total: 5,
        unread: 4,
        color: '#00a874',
        bgColor: '#eafff6',
        summary: '5 条 · 上传、生成、状态...',
    },
    {
        code: 'live',
        name: '直播',
        icon: 'VideoCamera',
        total: 4,
        unread: 3,
        color: '#f21f67',
        bgColor: '#fff0f3',
        summary: '4 条 · 直播间场次与排班...',
    },
    {
        code: 'system',
        name: '安全与系统',
        icon: 'Lock',
        total: 6,
        unread: 3,
        color: '#4b627f',
        bgColor: '#f0f4f8',
        summary: '6 条 · 账号安全、系统与...',
    },
];

export const messageRecords: MessageRecord[] = [
    {
        id: 'CA-20260819-001',
        category: 'approval',
        type: '积分申请',
        title: '梁靖淇申请 500 积分，等待你的审批',
        content: '申请人【梁靖淇】发起【500 积分】算力补给申请，请审批。关联项目：千川服装爆款视频批量生成。',
        meta: ['梁靖淇 → 徐振', 'CA-20260819-001'],
        tags: [
            { label: '请关注', tone: 'warning' },
            { label: '积分申请', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '10:15',
        state: '待审批',
        stateTone: 'pending',
        unread: true,
    },
    {
        id: 'TASK-20260819-018',
        category: 'task',
        type: '新任务',
        title: '王经理向你指派了新任务',
        content: '任务《七夕美妆礼盒短视频》需要产出 3 条成片，请在 8 月 22 日前完成。',
        meta: ['王经理（发布人） → 徐振（执行人）', 'TASK-20260819-018'],
        tags: [
            { label: '通知', tone: 'primary' },
            { label: '新任务', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '09:42',
        state: '待完成',
        stateTone: 'pending',
        unread: true,
    },
    {
        id: 'TASK-20260819-018-DATE',
        category: 'task',
        type: '任务延期',
        title: '任务出片日期由 8 月 22 日调整为 8 月 21 日',
        content: '王经理修改了《七夕美妆礼盒短视频》的出片日期，请重新安排制作计划。',
        meta: ['王经理（发布人） → 徐振（执行人）', 'TASK-20260819-018'],
        tags: [
            { label: '请关注', tone: 'warning' },
            { label: '任务延期', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '09:18',
        state: '制作中',
        stateTone: 'doing',
        unread: true,
    },
    {
        id: 'TASK-20260819-018-REL',
        category: 'task',
        type: '关联作品',
        title: '徐振为任务关联了 2 条新成片',
        content: '任务《七夕美妆礼盒短视频》当前已关联 2/3 条所需作品。',
        meta: ['徐振（执行人） → 王经理（发布人）', 'TASK-20260819-018'],
        tags: [
            { label: '已完成', tone: 'success' },
            { label: '关联作品', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '08:56',
        state: '2/3 条已完成',
        stateTone: 'doing',
        unread: true,
    },
    {
        id: 'TASK-20260819-018-SCRIPT',
        category: 'task',
        type: '关联脚本',
        title: '徐振为任务关联了脚本',
        content: '任务《七夕美妆礼盒短视频》已关联脚本《脚本 1 - 口播温和洁面妆感案》。',
        meta: ['徐振（执行人） → 王经理（发布人）', 'TASK-20260819-018'],
        tags: [
            { label: '通知', tone: 'primary' },
            { label: '关联脚本', tone: 'info' },
        ],
        date: '2026-08-18',
        time: '18:24',
        state: '制作中',
        stateTone: 'doing',
        unread: true,
    },
    {
        id: 'TASK-20260816-009',
        category: 'task',
        type: '任务完成',
        title: '任务所需 3 条作品已全部上传',
        content: '徐振已完成《夏季防晒运动素材》的全部作品上传，任务自动标记为已达标。',
        meta: ['徐振（执行人） → 王经理（发布人）', 'TASK-20260816-009'],
        tags: [
            { label: '已完成', tone: 'success' },
            { label: '任务完成', tone: 'info' },
        ],
        date: '2026-08-18',
        time: '16:35',
        state: '已达标',
        stateTone: 'done',
        unread: true,
    },
    {
        id: 'TASK-20260815-006',
        category: 'task',
        type: '任务逾期',
        title: '任务已逾期 18 小时',
        content: '《家居收纳直播切片》应于 8 月 18 日 18:00 完成，目前仅上传 1/4 条作品。',
        meta: ['系统 → 陈主管（发布人）、李剪辑（执行人）', 'TASK-20260815-006'],
        tags: [
            { label: '重要', tone: 'danger' },
            { label: '任务逾期', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '12:00',
        state: '已逾期',
        stateTone: 'expired',
        unread: true,
    },
    {
        id: '110332278',
        category: 'content',
        type: '上传成功',
        title: '成片《0730-8839-高弹透气提醒内裤走秀实拍.mp4》上传成功',
        content: '文件已完成上传与转码，可在成片区查看和继续编辑。',
        meta: ['系统 → 徐振（上传人）', '110332278'],
        tags: [
            { label: '已完成', tone: 'success' },
            { label: '上传成功', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '11:28',
        state: '可用',
        stateTone: 'available',
        unread: true,
    },
    {
        id: 'UPLOAD-20260819-091',
        category: 'content',
        type: '上传失败',
        title: '素材《主播播间全景_4K.mov》上传失败',
        content: '网络中断导致文件分片校验失败，原文件未入库，可重新上传。',
        meta: ['系统 → 张摄影（上传人）', 'UPLOAD-20260819-091'],
        tags: [
            { label: '重要', tone: 'danger' },
            { label: '上传失败', tone: 'info' },
        ],
        date: '2026-08-19',
        time: '11:02',
        state: '上传失败',
        stateTone: 'failed',
        unread: true,
    },
    {
        id: 'LIVE-20260818-012',
        category: 'live',
        type: '直播排班',
        title: '8 月 20 日直播间排班已更新',
        content: '直播间 A 的脚本讲解时段调整为 19:30 - 21:00，请相关人员确认。',
        meta: ['运营中心 → 直播团队', 'LIVE-20260818-012'],
        tags: [
            { label: '通知', tone: 'primary' },
            { label: '排班更新', tone: 'info' },
        ],
        date: '2026-08-18',
        time: '15:16',
        state: '待确认',
        stateTone: 'pending',
        unread: true,
    },
];
