import { AGE_BANDS } from '../../core/data/difficulty';

export type HomeDisplayItem = {
    id: string;
    title: string;
    subtitle: string;
    description?: string;
    category: 'math' | 'chinese' | 'english' | 'puzzle' | 'craft';
    ageBand: string;
    difficulty: '入门' | '基础' | '进阶' | '挑战';
    icon: string;
    badge?: string;
    path: string;
    available: boolean;
    source?: string;
};

export type HomeDisplaySection = {
    id: string;
    title: string;
    subtitle: string;
    morePath?: string;
    items: HomeDisplayItem[];
};

export type HomeDisplayDataset = {
    searchPlaceholder: string;
    categoryTabs: Array<{
        id: string;
        name: string;
        path?: string;
    }>;
    ageBands: Array<{
        key: string;
        label: string;
        desc: string;
        path: string;
    }>;
    featured: HomeDisplayItem[];
    hot: HomeDisplayItem[];
    sections: HomeDisplaySection[];
};

const HOME_CATEGORY_TABS = [
    { id: 'all', name: '全部' },
    { id: 'math', name: '数感启蒙' },
    { id: 'puzzle', name: '益智游戏' },
    { id: 'chinese', name: '趣味识字' },
    { id: 'english', name: '英语启蒙' },
    { id: 'craft', name: '创意手工' },
] as const;

const HOME_AGE_BANDS = AGE_BANDS.map((item, index) => ({
    key: item.key,
    label: item.label,
    desc: ['启蒙认知', '基础练习', '能力提升', '幼小衔接', '知识拓展'][index],
    path: '/pages/age/age',
}));

export const HOME_PRODUCT_TARGET_DATA: HomeDisplayDataset = {
    searchPlaceholder: '搜索你喜欢的练习册...',
    categoryTabs: [...HOME_CATEGORY_TABS],
    ageBands: HOME_AGE_BANDS,
    featured: [
        {
            id: 'target-featured-1',
            title: '圣诞主题涂色卡',
            subtitle: '节日限定创意内容',
            description: '首页推荐位示例，强调季节热点与真实打印效果。',
            category: 'craft',
            ageBand: '3-8岁',
            difficulty: '入门',
            icon: '🎄',
            badge: 'NEW',
            path: '',
            available: false,
            source: '产品设计文档 5.1 今日推荐',
        },
        {
            id: 'target-featured-2',
            title: '走迷宫大挑战',
            subtitle: '热门趣味训练',
            description: '产品规划中的高趣味内容，用于首页焦点推荐。',
            category: 'puzzle',
            ageBand: '4-7岁',
            difficulty: '进阶',
            icon: '🌀',
            badge: 'HOT',
            path: '',
            available: false,
            source: '产品设计文档 P2-22',
        },
        {
            id: 'target-featured-3',
            title: '拼音描红',
            subtitle: '幼小衔接高频内容',
            description: '语文模块重点新增内容，适合推荐位曝光。',
            category: 'chinese',
            ageBand: '5-7岁',
            difficulty: '基础',
            icon: '🔤',
            badge: '推荐',
            path: '',
            available: false,
            source: '产品设计文档 P1-12',
        },
    ],
    hot: [
        {
            id: 'target-hot-1',
            title: '迷宫',
            subtitle: '高趣味路径探索',
            category: 'puzzle',
            ageBand: '4-7岁',
            difficulty: '进阶',
            icon: '🧭',
            badge: '热门',
            path: '',
            available: false,
            source: '产品设计文档 5.1 热门下载',
        },
        {
            id: 'target-hot-2',
            title: '涂色卡',
            subtitle: '动物与节日主题',
            category: 'craft',
            ageBand: '3-6岁',
            difficulty: '入门',
            icon: '🎨',
            badge: '热门',
            path: '',
            available: false,
            source: '产品设计文档 P3-29',
        },
        {
            id: 'target-hot-3',
            title: '加减法',
            subtitle: '家长高频打印内容',
            category: 'math',
            ageBand: '5-7岁',
            difficulty: '基础',
            icon: '➕',
            badge: '热门',
            path: '/mathPages/addition/addition',
            available: true,
            source: '现有加减法页面可承接',
        },
    ],
    sections: [
        {
            id: 'math',
            title: '数学启蒙',
            subtitle: '数字认知、计数练习、加减运算、时钟与形状',
            morePath: '/pages/mathIndex/mathIndex',
            items: [
                {
                    id: 'target-math-1',
                    title: '数字认知',
                    subtitle: '认识数字 1-10',
                    category: 'math',
                    ageBand: '3-4岁',
                    difficulty: '入门',
                    icon: '🔢',
                    path: '/mathPages/numberFind/numberFind',
                    available: true,
                    source: '现有 找数字/写数字 能力',
                },
                {
                    id: 'target-math-2',
                    title: '计数练习',
                    subtitle: '数一数、连一连、选一选',
                    category: 'math',
                    ageBand: '4-5岁',
                    difficulty: '基础',
                    icon: '🧮',
                    path: '/mathPages/countMatch/countMatch',
                    available: true,
                    source: '现有 countMatch/countingSelect',
                },
                {
                    id: 'target-math-3',
                    title: '加减运算',
                    subtitle: '从 5 以内到 100 以内',
                    category: 'math',
                    ageBand: '5-7岁',
                    difficulty: '基础',
                    icon: '➕',
                    path: '/mathPages/addition/addition',
                    available: true,
                    source: '现有 addition/calculationPractice',
                },
                {
                    id: 'target-math-4',
                    title: '时钟练习',
                    subtitle: '认识钟表与时间',
                    category: 'math',
                    ageBand: '5-7岁',
                    difficulty: '进阶',
                    icon: '🕒',
                    path: '',
                    available: false,
                    source: '产品设计文档 P1-7',
                },
                {
                    id: 'target-math-5',
                    title: '形状认知',
                    subtitle: '图形分类与空间感',
                    category: 'math',
                    ageBand: '3-5岁',
                    difficulty: '入门',
                    icon: '📐',
                    path: '',
                    available: false,
                    source: '产品设计文档 3.1 信息架构',
                },
            ],
        },
        {
            id: 'chinese',
            title: '语文启蒙',
            subtitle: '识字、练字、拼音、表达训练',
            morePath: '/pages/index/index',
            items: [
                {
                    id: 'target-chinese-1',
                    title: '识字卡',
                    subtitle: '自定义汉字卡片',
                    category: 'chinese',
                    ageBand: '3-6岁',
                    difficulty: '入门',
                    icon: '📖',
                    path: '/pages/index/index',
                    available: true,
                    source: '现有识字页',
                },
                {
                    id: 'target-chinese-2',
                    title: '练字帖',
                    subtitle: '田字格笔顺练习',
                    category: 'chinese',
                    ageBand: '4-7岁',
                    difficulty: '基础',
                    icon: '✏️',
                    path: '/pages/copyBook/copyBook',
                    available: true,
                    source: '现有练字页',
                },
                {
                    id: 'target-chinese-3',
                    title: '拼音练习',
                    subtitle: '声母韵母描红',
                    category: 'chinese',
                    ageBand: '5-7岁',
                    difficulty: '基础',
                    icon: '🔤',
                    path: '',
                    available: false,
                    source: '产品设计文档 P1-12',
                },
                {
                    id: 'target-chinese-4',
                    title: '看图说话',
                    subtitle: '图片引导表达',
                    category: 'chinese',
                    ageBand: '5-7岁',
                    difficulty: '进阶',
                    icon: '🗣️',
                    path: '',
                    available: false,
                    source: '产品设计文档 P1-15',
                },
            ],
        },
        {
            id: 'english',
            title: '英语启蒙',
            subtitle: '字母学习、闪卡、描红与自然拼读',
            items: [
                {
                    id: 'target-english-1',
                    title: '字母描红',
                    subtitle: 'A-Z 大小写练习',
                    category: 'english',
                    ageBand: '4-6岁',
                    difficulty: '入门',
                    icon: '🔠',
                    path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
                    available: true,
                    source: 'letter-tracing',
                },
                {
                    id: 'target-english-2',
                    title: '字母闪卡',
                    subtitle: '字母与单词联想',
                    category: 'english',
                    ageBand: '3-6岁',
                    difficulty: '入门',
                    icon: '🪪',
                    path: '',
                    available: false,
                    source: '产品设计文档 P1-18',
                },
                {
                    id: 'target-english-3',
                    title: '自然拼读练习纸',
                    subtitle: 'CVC 单词启蒙',
                    category: 'english',
                    ageBand: '5-7岁',
                    difficulty: '进阶',
                    icon: '🔡',
                    path: '',
                    available: false,
                    source: '产品设计文档 P1-21',
                },
            ],
        },
        {
            id: 'puzzle',
            title: '益智游戏',
            subtitle: '迷宫、找不同、连线、数独与控笔',
            morePath: '/pages/focusIndex/focusIndex',
            items: [
                {
                    id: 'target-puzzle-1',
                    title: '迷宫',
                    subtitle: '不同难度路径挑战',
                    category: 'puzzle',
                    ageBand: '4-7岁',
                    difficulty: '进阶',
                    icon: '🌀',
                    path: '',
                    available: false,
                    source: '产品设计文档 P2-22',
                },
                {
                    id: 'target-puzzle-2',
                    title: '找不同',
                    subtitle: '观察力与专注力训练',
                    category: 'puzzle',
                    ageBand: '4-7岁',
                    difficulty: '进阶',
                    icon: '🔍',
                    path: '',
                    available: false,
                    source: '产品设计文档 P2-23',
                },
                {
                    id: 'target-puzzle-3',
                    title: '连线题',
                    subtitle: '数字点连线与物品连线',
                    category: 'puzzle',
                    ageBand: '4-6岁',
                    difficulty: '基础',
                    icon: '🧵',
                    path: '/focusPages/dotConnect/dotConnect',
                    available: true,
                    source: '现有 dotConnect/matchConnect',
                },
                {
                    id: 'target-puzzle-4',
                    title: '数独入门',
                    subtitle: '4x4 / 6x6 逻辑启蒙',
                    category: 'puzzle',
                    ageBand: '6-8岁',
                    difficulty: '挑战',
                    icon: '🧠',
                    path: '',
                    available: false,
                    source: '产品设计文档 P2-24',
                },
            ],
        },
        {
            id: 'craft',
            title: '创意手工',
            subtitle: '涂色卡、折纸、贴纸和主题手工',
            items: [
                {
                    id: 'target-craft-1',
                    title: '涂色卡',
                    subtitle: '动物、交通、节日主题',
                    category: 'craft',
                    ageBand: '3-6岁',
                    difficulty: '入门',
                    icon: '🎨',
                    path: '',
                    available: false,
                    source: '产品设计文档 P3-29',
                },
                {
                    id: 'target-craft-2',
                    title: '折纸模板',
                    subtitle: '打印后即可折叠',
                    category: 'craft',
                    ageBand: '4-7岁',
                    difficulty: '基础',
                    icon: '🪭',
                    path: '',
                    available: false,
                    source: '产品设计文档 P3-30',
                },
                {
                    id: 'target-craft-3',
                    title: '贴纸打印',
                    subtitle: '奖励贴纸与装饰贴纸',
                    category: 'craft',
                    ageBand: '3-8岁',
                    difficulty: '入门',
                    icon: '⭐',
                    path: '',
                    available: false,
                    source: '产品设计文档 P3-33',
                },
            ],
        },
    ],
};

export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
    searchPlaceholder: '搜索你喜欢的练习册...',
    categoryTabs: [...HOME_CATEGORY_TABS],
    ageBands: HOME_AGE_BANDS,
    featured: [
        {
            id: 'current-featured-1',
            title: '10以内加减法',
            subtitle: '最适合首页推荐的高频内容',
            description: '现有数学能力中最接近产品文档“热门下载”的内容。',
            category: 'math',
            ageBand: '5-6岁',
            difficulty: '基础',
            icon: '➕',
            badge: 'HOT',
            path: '/mathPages/addition/addition',
            available: true,
            source: '现有功能清单 addition',
        },
        {
            id: 'current-featured-2',
            title: '涂色识字卡',
            subtitle: '兼顾识字与趣味涂色',
            description: '当前最接近创意内容的主包能力，可承接语文与创意入口。',
            category: 'chinese',
            ageBand: '3-6岁',
            difficulty: '入门',
            icon: '📚',
            badge: '推荐',
            path: '/pages/index/index',
            available: true,
            source: '现有识字页',
        },
        {
            id: 'current-featured-3',
            title: '数字点连线',
            subtitle: '用连点成图提升专注力',
            description: '能承担产品文档中“益智游戏”内容氛围。',
            category: 'puzzle',
            ageBand: '4-6岁',
            difficulty: '基础',
            icon: '🔗',
            badge: '热门',
            path: '/focusPages/dotConnect/dotConnect',
            available: true,
            source: '现有功能清单 dot-connect',
        },
    ],
    hot: [
        {
            id: 'current-hot-1',
            title: '找数字，涂一涂',
            subtitle: '低龄启蒙高频内容',
            category: 'math',
            ageBand: '3-4岁',
            difficulty: '入门',
            icon: '🔢',
            badge: '热门',
            path: '/mathPages/numberFind/numberFind',
            available: true,
            source: 'number-find',
        },
        {
            id: 'current-hot-2',
            title: '数一数，连一连',
            subtitle: '点数和数字对应',
            category: 'math',
            ageBand: '4-5岁',
            difficulty: '基础',
            icon: '🧮',
            badge: '热门',
            path: '/mathPages/countMatch/countMatch',
            available: true,
            source: 'counting-matching',
        },
        {
            id: 'current-hot-3',
            title: '格子仿画 5×5',
            subtitle: '图形观察与耐心训练',
            category: 'puzzle',
            ageBand: '5-7岁',
            difficulty: '进阶',
            icon: '🟨',
            badge: '热门',
            path: '/focusPages/gridDrawing/gridDrawing',
            available: true,
            source: 'grid-drawing-5x5',
        },
    ],
    sections: [
        {
            id: 'math',
            title: '数感启蒙',
            subtitle: '优先展示现有高价值、高覆盖的数感与运算内容',
            morePath: '/pages/mathIndex/mathIndex',
            items: [
                {
                    id: 'current-math-1',
                    title: '数字认知',
                    subtitle: '找数字、写数字',
                    category: 'math',
                    ageBand: '3-4岁',
                    difficulty: '入门',
                    icon: '🔢',
                    path: '/mathPages/numberFind/numberFind',
                    available: true,
                    source: 'number-find / number-write',
                },
                {
                    id: 'current-math-2',
                    title: '计数练习',
                    subtitle: '数一数、连一连、选一选',
                    category: 'math',
                    ageBand: '4-5岁',
                    difficulty: '基础',
                    icon: '🧮',
                    path: '/mathPages/countMatch/countMatch',
                    available: true,
                    source: 'countMatch / countingSelect',
                },
                {
                    id: 'current-math-3',
                    title: '数字序列',
                    subtitle: '数字排序与缺失填空',
                    category: 'math',
                    ageBand: '4-5岁',
                    difficulty: '基础',
                    icon: '📈',
                    path: '/mathPages/numberSort/numberSort',
                    available: true,
                    source: 'numberSort / missingNumber',
                },
                {
                    id: 'current-math-4',
                    title: '加减运算',
                    subtitle: '5以内到100以内逐步进阶',
                    category: 'math',
                    ageBand: '5-7岁',
                    difficulty: '基础',
                    icon: '➕',
                    path: '/mathPages/addition/addition',
                    available: true,
                    source: 'addition / calculationPractice',
                },
                {
                    id: 'current-math-5',
                    title: '乘法口诀',
                    subtitle: '九九乘法表启蒙',
                    category: 'math',
                    ageBand: '7-8岁',
                    difficulty: '挑战',
                    icon: '✖️',
                    path: '/mathPages/multiplicationTable/multiplicationTable',
                    available: true,
                    source: 'multiplicationTable',
                },
            ],
        },
        {
            id: 'chinese',
            title: '趣味识字',
            subtitle: '用现有识字与练字能力先覆盖核心语文场景',
            morePath: '/pages/index/index',
            items: [
                {
                    id: 'current-chinese-1',
                    title: '识字卡',
                    subtitle: '最多 6 个汉字，自定义颜色',
                    category: 'chinese',
                    ageBand: '3-6岁',
                    difficulty: '入门',
                    icon: '📖',
                    path: '/pages/index/index',
                    available: true,
                    source: 'pages/index/index',
                },
                {
                    id: 'current-chinese-2',
                    title: '找一找识字',
                    subtitle: '识字 find 模板，更接近游戏化练习',
                    category: 'chinese',
                    ageBand: '4-6岁',
                    difficulty: '基础',
                    icon: '🔍',
                    path: '/pages/index/index',
                    available: true,
                    source: '识字页 find 模板',
                },
                {
                    id: 'current-chinese-3',
                    title: '笔顺练字帖',
                    subtitle: '田字格与笔顺描红',
                    category: 'chinese',
                    ageBand: '4-7岁',
                    difficulty: '基础',
                    icon: '✏️',
                    path: '/pages/copyBook/copyBook',
                    available: true,
                    source: 'pages/copyBook/copyBook',
                },
            ],
        },
        {
            id: 'puzzle',
            title: '益智游戏',
            subtitle: '从现有专注力模块中抽取最符合产品重设计的内容',
            morePath: '/pages/focusIndex/focusIndex',
            items: [
                {
                    id: 'current-puzzle-1',
                    title: '数字点连线',
                    subtitle: '按顺序连点成图',
                    category: 'puzzle',
                    ageBand: '4-6岁',
                    difficulty: '基础',
                    icon: '🔗',
                    path: '/focusPages/dotConnect/dotConnect',
                    available: true,
                    source: 'dot-connect',
                },
                {
                    id: 'current-puzzle-2',
                    title: '连连看',
                    subtitle: '物品配对与关系匹配',
                    category: 'puzzle',
                    ageBand: '4-6岁',
                    difficulty: '基础',
                    icon: '🧵',
                    path: '/focusPages/matchConnect/matchConnect',
                    available: true,
                    source: 'match-connect',
                },
                {
                    id: 'current-puzzle-3',
                    title: '颜色找规律',
                    subtitle: '模式识别与推理',
                    category: 'puzzle',
                    ageBand: '4-6岁',
                    difficulty: '基础',
                    icon: '🌈',
                    path: '/focusPages/colorPattern/colorPattern',
                    available: true,
                    source: 'color-pattern',
                },
                {
                    id: 'current-puzzle-4',
                    title: '方格推理',
                    subtitle: '逻辑关系与观察力',
                    category: 'puzzle',
                    ageBand: '5-7岁',
                    difficulty: '进阶',
                    icon: '🧠',
                    path: '/focusPages/gridReasoning/gridReasoning',
                    available: true,
                    source: 'grid-reasoning',
                },
                {
                    id: 'current-puzzle-5',
                    title: '格子仿画',
                    subtitle: '3×3 / 5×5 / 7×7 逐级挑战',
                    category: 'puzzle',
                    ageBand: '4-7岁',
                    difficulty: '进阶',
                    icon: '🟨',
                    path: '/focusPages/gridDrawing/gridDrawing',
                    available: true,
                    source: 'grid-drawing',
                },
            ],
        },
        {
            id: 'craft',
            title: '创意手工',
            subtitle: '暂用最接近创意表达的现有能力承接展示位',
            morePath: '/pages/index/index',
            items: [
                {
                    id: 'current-craft-1',
                    title: '涂色识字卡',
                    subtitle: '在识字场景里提供涂色表达',
                    category: 'craft',
                    ageBand: '3-6岁',
                    difficulty: '入门',
                    icon: '🎨',
                    path: '/pages/index/index',
                    available: true,
                    source: '现有识字卡着色能力',
                },
                {
                    id: 'current-craft-2',
                    title: '字帖打印',
                    subtitle: '打印后可反复练习',
                    category: 'craft',
                    ageBand: '4-7岁',
                    difficulty: '基础',
                    icon: '🖌️',
                    path: '/pages/copyBook/copyBook',
                    available: true,
                    source: '练字页打印能力',
                },
            ],
        },
        {
            id: 'english',
            title: '英语启蒙',
            subtitle: '字母描红等已上线，其余能力持续补充',
            items: [
                {
                    id: 'current-english-1',
                    title: '字母学习页',
                    subtitle: '单字母配图与描红',
                    category: 'english',
                    ageBand: '4-7岁',
                    difficulty: '入门',
                    icon: '🔠',
                    path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
                    available: true,
                    source: 'letter-tracing-single',
                },
                {
                    id: 'current-english-2',
                    title: '26 字母描红',
                    subtitle: '整页四线三格练习',
                    category: 'english',
                    ageBand: '4-7岁',
                    difficulty: '入门',
                    icon: '🔤',
                    path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-full',
                    available: true,
                    source: 'letter-tracing-full',
                },
                {
                    id: 'current-english-3',
                    title: '大小写字母对照',
                    subtitle: '一页认识 A-Z 与 a-z',
                    category: 'english',
                    ageBand: '4-7岁',
                    difficulty: '入门',
                    icon: '🔡',
                    path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-upper-lower',
                    available: true,
                    source: 'letter-tracing-upper-lower',
                },
                {
                    id: 'current-english-4',
                    title: '字母描红（两列）',
                    subtitle: 'A–M / N–Z',
                    category: 'english',
                    ageBand: '4-7岁',
                    difficulty: '入门',
                    icon: '✏️',
                    path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-two-column',
                    available: true,
                    source: 'letter-tracing-two-column',
                },
            ],
        },
    ],
};

export const HOME_DISPLAY_DATA = {
    productTarget: HOME_PRODUCT_TARGET_DATA,
    currentCapability: HOME_CURRENT_CAPABILITY_DATA,
} as const;
