type TaskCategory = {
  id: string;
  name: string;
  color: string;
  soft: string;
};

type TaskConfig = {
  id: string;
  name: string;
  category: string;
  duration: number;
  daily: string;
  difficulty: "轻松" | "中等" | "进阶";
  audience: string;
  outcome: string;
};

(window as any).SummerPlanApp = (window as any).SummerPlanApp || {};
(window as any).SummerPlanApp.taskCategories = [
  { id: "relax", name: "放松恢复", color: "bg-emerald-500", soft: "bg-emerald-50 text-emerald-700 border-emerald-200" },
  { id: "skill", name: "技能提升", color: "bg-sky-500", soft: "bg-sky-50 text-sky-700 border-sky-200" },
  { id: "study", name: "学习准备", color: "bg-violet-500", soft: "bg-violet-50 text-violet-700 border-violet-200" },
  { id: "life", name: "生活成长", color: "bg-orange-500", soft: "bg-orange-50 text-orange-700 border-orange-200" },
  { id: "college", name: "大学准备", color: "bg-amber-400", soft: "bg-amber-50 text-amber-700 border-amber-200" },
  { id: "ai", name: "玩转AI", color: "bg-gradient-to-r from-violet-500 to-sky-500", soft: "bg-indigo-50 text-indigo-700 border-indigo-200" },
  { id: "custom", name: "自定义任务", color: "bg-slate-500", soft: "bg-slate-50 text-slate-700 border-slate-200" }
] as TaskCategory[];

(window as any).SummerPlanApp.tasks = [
  {
    id: "sleep-reset",
    name: "补觉恢复",
    category: "relax",
    duration: 3,
    daily: "自由安排",
    difficulty: "轻松",
    audience: "自由松弛型 / 兴趣享受型",
    outcome: "把睡眠债补回来，恢复精神状态"
  },
  {
    id: "room-clean",
    name: "整理房间",
    category: "relax",
    duration: 2,
    daily: "45分钟",
    difficulty: "轻松",
    audience: "自由松弛型 / 生活独立型",
    outcome: "清出一个更舒服的学习和生活空间"
  },
  {
    id: "travel",
    name: "旅行放松",
    category: "relax",
    duration: 4,
    daily: "自由安排",
    difficulty: "轻松",
    audience: "自由松弛型 / 兴趣享受型",
    outcome: "拍一组照片，写一段旅行记录"
  },
  {
    id: "watch-read",
    name: "观影阅读清单",
    category: "relax",
    duration: 5,
    daily: "30分钟",
    difficulty: "轻松",
    audience: "自由松弛型 / 兴趣享受型",
    outcome: "完成一份电影、书单或假期记录"
  },
  {
    id: "ppt-basic",
    name: "PPT基础",
    category: "skill",
    duration: 7,
    daily: "45分钟",
    difficulty: "中等",
    audience: "大学领跑型 / 技能成长型",
    outcome: "做出一份个人介绍PPT"
  },
  {
    id: "excel-basic",
    name: "Excel基础",
    category: "skill",
    duration: 7,
    daily: "45分钟",
    difficulty: "中等",
    audience: "大学领跑型 / 技能成长型",
    outcome: "会做简单表格、筛选和预算记录"
  },
  {
    id: "editing-basic",
    name: "剪辑入门",
    category: "skill",
    duration: 10,
    daily: "60分钟",
    difficulty: "中等",
    audience: "技能成长型 / 兴趣享受型",
    outcome: "剪出一条 30-60 秒假期视频"
  },
  {
    id: "xiaohongshu",
    name: "小红书笔记",
    category: "skill",
    duration: 5,
    daily: "40分钟",
    difficulty: "中等",
    audience: "技能成长型 / 社交适应型",
    outcome: "完成一篇图文笔记或内容选题库"
  },
  {
    id: "portfolio",
    name: "个人作品整理",
    category: "skill",
    duration: 5,
    daily: "45分钟",
    difficulty: "中等",
    audience: "技能成长型 / 大学领跑型",
    outcome: "整理一页个人技能与作品清单"
  },
  {
    id: "english",
    name: "英语打卡",
    category: "study",
    duration: 14,
    daily: "30分钟",
    difficulty: "中等",
    audience: "大学领跑型 / 逆袭准备型",
    outcome: "完成一次英语自我介绍和基础词汇打卡"
  },
  {
    id: "major-explore",
    name: "专业探索",
    category: "study",
    duration: 4,
    daily: "40分钟",
    difficulty: "轻松",
    audience: "迷茫探索型 / 大学领跑型",
    outcome: "整理目标专业的课程、就业和避坑问题"
  },
  {
    id: "study-method",
    name: "学习方法整理",
    category: "study",
    duration: 4,
    daily: "35分钟",
    difficulty: "轻松",
    audience: "逆袭准备型 / 大学领跑型",
    outcome: "形成适合大学的笔记和复盘方式"
  },
  {
    id: "weekly-review",
    name: "每周复盘",
    category: "study",
    duration: 4,
    daily: "每周 40分钟",
    difficulty: "轻松",
    audience: "逆袭准备型 / 迷茫探索型",
    outcome: "每周留下一次状态记录和计划调整"
  },
  {
    id: "fitness",
    name: "健身打卡",
    category: "life",
    duration: 14,
    daily: "30分钟",
    difficulty: "中等",
    audience: "生活独立型 / 逆袭准备型 / 兴趣享受型",
    outcome: "建立一个可持续的运动习惯"
  },
  {
    id: "cook",
    name: "学做饭",
    category: "life",
    duration: 5,
    daily: "45分钟",
    difficulty: "轻松",
    audience: "生活独立型",
    outcome: "学会 2-3 道简单饭菜"
  },
  {
    id: "budget",
    name: "记账理财",
    category: "life",
    duration: 7,
    daily: "15分钟",
    difficulty: "轻松",
    audience: "生活独立型 / 兼职赚钱型",
    outcome: "做出一份大学第一个月预算表"
  },
  {
    id: "parttime-safe",
    name: "兼职安全清单",
    category: "life",
    duration: 3,
    daily: "30分钟",
    difficulty: "轻松",
    audience: "兼职赚钱型",
    outcome: "知道如何识别押金、刷单、培训贷等风险"
  },
  {
    id: "driving",
    name: "学车安排",
    category: "life",
    duration: 7,
    daily: "视课程而定",
    difficulty: "中等",
    audience: "兼职赚钱型 / 生活独立型",
    outcome: "排出报名、练车和复盘时间"
  },
  {
    id: "college-list",
    name: "开学物品清单",
    category: "college",
    duration: 3,
    daily: "40分钟",
    difficulty: "轻松",
    audience: "大学领跑型 / 生活独立型",
    outcome: "整理证件、宿舍、学习用品清单"
  },
  {
    id: "intro",
    name: "新生自我介绍",
    category: "college",
    duration: 3,
    daily: "30分钟",
    difficulty: "轻松",
    audience: "社交适应型 / 大学领跑型",
    outcome: "准备 30 秒和 2 分钟两个版本"
  },
  {
    id: "dorm-rule",
    name: "宿舍规则了解",
    category: "college",
    duration: 2,
    daily: "30分钟",
    difficulty: "轻松",
    audience: "社交适应型 / 生活独立型",
    outcome: "形成自己的宿舍边界和沟通原则"
  },
  {
    id: "month-plan",
    name: "大学第一个月计划",
    category: "college",
    duration: 3,
    daily: "35分钟",
    difficulty: "轻松",
    audience: "大学领跑型 / 逆袭准备型",
    outcome: "写出入学第一个月的学习、生活和社交安排"
  },
  {
    id: "ai-basic",
    name: "AI学习入门",
    category: "ai",
    duration: 7,
    daily: "60分钟",
    difficulty: "中等",
    audience: "大学领跑型 / 技能成长型 / 迷茫探索型",
    outcome: "学会用 AI 生成学习计划、PPT大纲和资料整理表"
  },
  {
    id: "ai-ppt",
    name: "AI做PPT大纲",
    category: "ai",
    duration: 3,
    daily: "40分钟",
    difficulty: "轻松",
    audience: "大学领跑型 / 技能成长型",
    outcome: "完成一份汇报大纲和页面结构"
  },
  {
    id: "ai-major",
    name: "AI整理专业介绍",
    category: "ai",
    duration: 3,
    daily: "35分钟",
    difficulty: "轻松",
    audience: "迷茫探索型 / 大学领跑型",
    outcome: "得到一份目标专业问题清单"
  },
  {
    id: "ai-list",
    name: "AI生成开学清单",
    category: "ai",
    duration: 2,
    daily: "25分钟",
    difficulty: "轻松",
    audience: "生活独立型 / 自由松弛型",
    outcome: "生成宿舍物品、证件和学习用品清单"
  },
  {
    id: "ai-resume",
    name: "AI做个人简历",
    category: "ai",
    duration: 3,
    daily: "40分钟",
    difficulty: "中等",
    audience: "兼职赚钱型 / 技能成长型",
    outcome: "得到一版适合兼职或社团的简历草稿"
  },
  {
    id: "ai-communication",
    name: "AI模拟沟通",
    category: "ai",
    duration: 4,
    daily: "30分钟",
    difficulty: "轻松",
    audience: "社交适应型",
    outcome: "练习宿舍沟通、社团面试和自我介绍"
  },
  {
    id: "ai-daily-plan",
    name: "AI每日计划",
    category: "ai",
    duration: 7,
    daily: "20分钟",
    difficulty: "轻松",
    audience: "逆袭准备型 / 迷茫探索型",
    outcome: "每天得到一份可执行的小任务清单"
  }
] as TaskConfig[];
