export interface Section {
  id: string
  title: string
  price: number
  isFree: boolean
  filePath: string
  content?: string
  createdAt?: string
  unlockAfterDays?: number
}

export interface Chapter {
  id: string
  title: string
  sections: Section[]
}

export interface Part {
  id: string
  number: string
  title: string
  subtitle: string
  chapters: Chapter[]
}

export const BASE_BOOK_PRICE = 9.9
export const PRICE_INCREMENT_PER_SECTION = 1
export const SECTION_PRICE = 1
export const AUTHOR_SHARE = 0.9
export const DISTRIBUTOR_SHARE = 0.1

export function getFullBookPrice(sectionsCount?: number): number {
  return 9.9
}

export const bookData: Part[] = [
  {
    id: "part-1",
    number: "01",
    title: "真实的人",
    subtitle: "人性观察与社交逻辑",
    chapters: [
      {
        id: "chapter-1",
        title: "人与人之间的底层逻辑",
        sections: [
          {
            id: "1.1",
            title: "自行车荷总:一个行业做到极致是什么样",
            price: 1,
            isFree: true,
            filePath: "book/_第一篇｜真实的人/第1章｜人与人之间的底层逻辑/1.1 自行车荷总:一个行业做到极致是什么样.md",
          },
          {
            id: "1.2",
            title: "老墨:资源整合高手的社交方法",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/_第一篇｜真实的人/第1章｜人与人之间的底层逻辑/1.2 老墨:资源整合高手的社交方法.md",
          },
          {
            id: "1.3",
            title: "笑声背后的MBTI:为什么ENTJ适合做资源,INTP适合做系统",
            price: 1,
            isFree: false,
            filePath:
              "book/_第一篇｜真实的人/第1章｜人与人之间的底层逻辑/1.3 笑声背后的MBTI：为什么ENTJ适合做资源，INTP适合做系统.md",
          },
          {
            id: "1.4",
            title: "人性的三角结构:情绪、价值、利益",
            price: 1,
            isFree: false,
            filePath: "book/_第一篇｜真实的人/第1章｜人与人之间的底层逻辑/1.4 人性的三角结构:情绪、价值、利益.md",
          },
          {
            id: "1.5",
            title: "为什么99%的合作死在沟通差而不是能力差",
            price: 1,
            isFree: false,
            filePath: "book/_第一篇｜真实的人/第1章｜人与人之间的底层逻辑/1.5 为什么99%的合作死在沟通差而不是能力差.md",
          },
        ],
      },
      {
        id: "chapter-2",
        title: "人性困境案例",
        sections: [
          {
            id: "2.1",
            title: "相亲故事:你以为找的是人,实际是在找模式",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/_第一篇｜真实的人/第2章｜人性困境案例/2.1 相亲故事:你以为找的是人,实际是在找模式.md",
          },
          {
            id: "2.2",
            title: "找工作迷茫者:为什么简历解决不了人生",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/_第一篇｜真实的人/第2章｜人性困境案例/2.2 找工作迷茫者:为什么简历解决不了人生.md",
          },
          {
            id: "2.3",
            title: "撸运费险:小钱困住大脑的真实心理",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/_第一篇｜真实的人/第2章｜人性困境案例/2.3 撸运费险:小钱困住大脑的真实心理.md",
          },
          {
            id: "2.4",
            title: "游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath:
              "book/_第一篇｜真实的人/第2章｜人性困境案例/2.4 游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力.md",
          },
          {
            id: "2.5",
            title: "健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath:
              "book/_第一篇｜真实的人/第2章｜人性困境案例/2.5 健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒.md",
          },
        ],
      },
    ],
  },
  {
    id: "part-2",
    number: "02",
    title: "真实的行业",
    subtitle: "社会运作的底层规则",
    chapters: [
      {
        id: "chapter-3",
        title: "电商篇",
        sections: [
          {
            id: "3.1",
            title: "电商财税窗口:我错过的第一桶金",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第3章｜电商篇/3.1 电商财税窗口:我错过的第一桶金.md",
          },
          {
            id: "3.2",
            title: "3000万流水如何跑出来(退税模式解析)",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第3章｜电商篇/3.2 3000万流水如何跑出来(退税模式解析).md",
          },
          {
            id: "3.3",
            title: "供应链之王vs打工人:利润不在前端",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第3章｜电商篇/3.3 供应链之王 vs 打工人:利润不在前端.md",
          },
          {
            id: "3.4",
            title: "社区团购的底层逻辑",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第3章｜电商篇/3.4 社区团购的底层逻辑.md",
          },
          {
            id: "3.5",
            title: "跨境电商与退税套利",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第3章｜电商篇/3.5 跨境电商与退税套利.md",
          },
        ],
      },
      {
        id: "chapter-4",
        title: "内容商业篇",
        sections: [
          {
            id: "4.1",
            title: "旅游号:30天10万粉的真实逻辑",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第4章｜内容商业篇/4.1 旅游号:30天10万粉的真实逻辑.md",
          },
          {
            id: "4.2",
            title: "做号工厂:如何让一个号变成一个机器",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第4章｜内容商业篇/4.2 做号工厂:如何让一个号变成一个机器.md",
          },
          {
            id: "4.3",
            title: "情绪内容为什么比专业内容更赚钱",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第4章｜内容商业篇/4.3 情绪内容为什么比专业内容更赚钱.md",
          },
          {
            id: "4.4",
            title: "猫与宠物号:为什么宠物赛道永不过时",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第4章｜内容商业篇/4.4 猫与宠物号:为什么宠物赛道永不过时.md",
          },
          {
            id: "4.5",
            title: "直播间里的三种人:演员、技术工、系统流",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第4章｜内容商业篇/4.5 直播间里的三种人:演员、技术工、系统流.md",
          },
        ],
      },
      {
        id: "chapter-5",
        title: "传统行业篇",
        sections: [
          {
            id: "5.1",
            title: "羽毛球馆:为什么体育培训是最稳定的现金流",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第5章｜传统行业篇/5.1 羽毛球馆:为什么体育培训是最稳定的现金流.md",
          },
          {
            id: "5.2",
            title: "旅游供应链:资源越老越值钱",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第5章｜传统行业篇/5.2 旅游供应链:资源越老越值钱.md",
          },
          {
            id: "5.3",
            title: "景区联盟:门票不是目的,是流量入口",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第5章｜传统行业篇/5.3 景区联盟:门票不是目的,是流量入口.md",
          },
          {
            id: "5.4",
            title: "拍卖行抱朴:我人生错过的4件大钱机会(完整版)",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第5章｜传统行业篇/5.4 拍卖行抱朴:我人生错过的4件大钱机会(完整版).md",
          },
          {
            id: "5.5",
            title: "飞机票供应链:为什么越便宜越亏",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第二篇｜真实的行业/第5章｜传统行业篇/5.5 飞机票供应链:为什么越便宜越亏.md",
          },
        ],
      },
    ],
  },
  {
    id: "part-3",
    number: "03",
    title: "真实的错误",
    subtitle: "错过机会比失败更贵",
    chapters: [
      {
        id: "chapter-6",
        title: "我人生错过的4件大钱",
        sections: [
          {
            id: "6.1",
            title: "错过电商财税(2016-2017)",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第6章｜我人生错过的4件大钱/6.1 错过电商财税(2016-2017).md",
          },
          {
            id: "6.2",
            title: "错过供应链(2017-2018)",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第6章｜我人生错过的4件大钱/6.2 错过供应链(2017-2018).md",
          },
          {
            id: "6.3",
            title: "错过内容红利(2018-2019)",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第6章｜我人生错过的4件大钱/6.3 错过内容红利(2018-2019).md",
          },
          {
            id: "6.4",
            title: "错过资源资产化(2019-2020)",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第6章｜我人生错过的4件大钱/6.4 错过资源资产化(2019-2020).md",
          },
        ],
      },
      {
        id: "chapter-7",
        title: "别人犯的错误",
        sections: [
          {
            id: "7.1",
            title: "投资房年轻人的迷茫:资金vs能力",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第7章｜别人犯的错误/7.1 投资房年轻人的迷茫:资金 vs 能力.md",
          },
          {
            id: "7.2",
            title: "信息差骗局:永远有人靠卖学习赚钱",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第7章｜别人犯的错误/7.2 信息差骗局:永远有人靠卖学习赚钱.md",
          },
          {
            id: "7.3",
            title: "在Soul找恋爱但想赚钱的人",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第7章｜别人犯的错误/7.3 在Soul找恋爱但想赚钱的人.md",
          },
          {
            id: "7.4",
            title: "创业者的三种死法:冲动、轻信、没结构",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第7章｜别人犯的错误/7.4 创业者的三种死法:冲动、轻信、没结构.md",
          },
          {
            id: "7.5",
            title: "人情生意的终点:关系越多亏得越多",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第三篇｜真实的错误/第7章｜别人犯的错误/7.5 人情生意的终点:关系越多亏得越多.md",
          },
        ],
      },
    ],
  },
  {
    id: "part-4",
    number: "04",
    title: "真实的赚钱",
    subtitle: "所有行业的杠杆结构",
    chapters: [
      {
        id: "chapter-8",
        title: "底层结构",
        sections: [
          {
            id: "8.1",
            title: "流量杠杆:抖音、Soul、飞书",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第8章｜底层结构/8.1 流量杠杆:抖音、Soul、飞书.md",
          },
          {
            id: "8.2",
            title: "价格杠杆:供应链与信息差",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第8章｜底层结构/8.2 价格杠杆:供应链与信息差.md",
          },
          {
            id: "8.3",
            title: "时间杠杆:自动化+AI",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第8章｜底层结构/8.3 时间杠杆:自动化 + AI.md",
          },
          {
            id: "8.4",
            title: "情绪杠杆:咨询、婚恋、生意场",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第8章｜底层结构/8.4 情绪杠杆:咨询、婚恋、生意场.md",
          },
          {
            id: "8.5",
            title: "社交杠杆:认识谁比你会什么更重要",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第8章｜底层结构/8.5 社交杠杆:认识谁比你会什么更重要.md",
          },
          {
            id: "8.6",
            title: "云阿米巴:分不属于自己的钱",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第8章｜底层结构/8.6 云阿米巴:分不属于自己的钱.md",
          },
        ],
      },
      {
        id: "chapter-9",
        title: "我在Soul上亲访的赚钱案例",
        sections: [
          {
            id: "9.1",
            title: "游戏账号私域:账号即资产",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.1 游戏账号私域:账号即资产.md",
          },
          {
            id: "9.2",
            title: "健康包模式:高复购、高毛利",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.2 健康包模式:高复购、高毛利.md",
          },
          {
            id: "9.3",
            title: "药物私域:长期关系赛道",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.3 药物私域:长期关系赛道.md",
          },
          {
            id: "9.4",
            title: "残疾机构合作:退税×AI×人力成本",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath:
              "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.4 残疾机构合作:退税 × AI × 人力成本.md",
          },
          {
            id: "9.5",
            title: "私域银行:粉丝即小股东",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.5 私域银行:粉丝即小股东.md",
          },
          {
            id: "9.6",
            title: "Soul派对房:陌生人成交的最快场景",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.6 Soul派对房:陌生人成交的最快场景.md",
          },
          {
            id: "9.7",
            title: "飞书中台:从聊天到成交的流程化体系",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath:
              "book/第四篇｜真实的赚钱/第9章｜我在Soul上亲访的赚钱案例/9.7 飞书中台:从聊天到成交的流程化体系.md",
          },
        ],
      },
    ],
  },
  {
    id: "part-5",
    number: "05",
    title: "真实的未来",
    subtitle: "人与系统的关系",
    chapters: [
      {
        id: "chapter-10",
        title: "未来职业的变化趋势",
        sections: [
          {
            id: "10.1",
            title: "AI代聊与岗位替换",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第10章｜未来职业的变化趋势/10.1 AI代聊与岗位替换.md",
          },
          {
            id: "10.2",
            title: "系统化工作vs杂乱工作",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第10章｜未来职业的变化趋势/10.2 系统化工作 vs 杂乱工作.md",
          },
          {
            id: "10.3",
            title: "为什么链接能力会成为第一价值",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第10章｜未来职业的变化趋势/10.3 为什么链接能力会成为第一价值.md",
          },
          {
            id: "10.4",
            title: "新型公司:Soul-飞书-线下的三位一体",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第10章｜未来职业的变化趋势/10.4 新型公司:Soul-飞书-线下的三位一体.md",
          },
        ],
      },
      {
        id: "chapter-11",
        title: "中国社会商业生态的未来",
        sections: [
          {
            id: "11.1",
            title: "城市之间的模式差",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第11章｜中国社会商业生态的未来/11.1 城市之间的模式差.md",
          },
          {
            id: "11.2",
            title: "厦门样本:低成本高效率经济",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第11章｜中国社会商业生态的未来/11.2 厦门样本:低成本高效率经济.md",
          },
          {
            id: "11.3",
            title: "流量红利的终局",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第11章｜中国社会商业生态的未来/11.3 流量红利的终局.md",
          },
          {
            id: "11.4",
            title: "大模型+供应链的组合拳",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第11章｜中国社会商业生态的未来/11.4 大模型 + 供应链的组合拳.md",
          },
          {
            id: "11.5",
            title: "社会分层的最终逻辑",
            price: 1,
            isFree: false,
            unlockAfterDays: 3,
            filePath: "book/第五篇｜真实的社会/第11章｜中国社会商业生态的未来/11.5 社会分层的最终逻辑.md",
          },
        ],
      },
    ],
  },
]

export const specialSections = {
  preface: {
    id: "preface",
    title: "序言｜为什么我每天早上6点在Soul开播?",
    price: 0,
    isFree: true,
    filePath: "book/序言｜为什么我每天早上6点在Soul开播?.md",
  },
  epilogue: {
    id: "epilogue",
    title: "尾声｜终极答案:努力不是关键,选择才是",
    price: 0,
    isFree: true,
    filePath: "book/尾声｜终极答案:努力不是关键,选择才是.md",
  },
}

export const FULL_BOOK_PRICE = getFullBookPrice()

export function getAllSections(): Section[] {
  const sections: Section[] = []
  if (typeof window !== "undefined") {
    const customSections = JSON.parse(localStorage.getItem("custom_sections") || "[]")
    sections.push(...customSections)
  }
  bookData.forEach((part) => {
    part.chapters.forEach((chapter) => {
      sections.push(...chapter.sections)
    })
  })
  return sections
}

export function getSectionById(id: string): Section | undefined {
  if (typeof window !== "undefined") {
    const customSections = JSON.parse(localStorage.getItem("custom_sections") || "[]") as Section[]
    const customSection = customSections.find((s) => s.id === id)
    if (customSection) return customSection
  }

  for (const part of bookData) {
    for (const chapter of part.chapters) {
      const section = chapter.sections.find((s) => s.id === id)
      if (section) return section
    }
  }
  return undefined
}

export function getChapterBySection(sectionId: string): { part: Part; chapter: Chapter } | undefined {
  for (const part of bookData) {
    for (const chapter of part.chapters) {
      if (chapter.sections.some((s) => s.id === sectionId)) {
        return { part, chapter }
      }
    }
  }
  return undefined
}

export function isSectionUnlocked(section: Section): boolean {
  if (section.isFree) return true
  if (!section.unlockAfterDays || !section.createdAt) return false

  const createdDate = new Date(section.createdAt)
  const unlockDate = new Date(createdDate.getTime() + section.unlockAfterDays * 24 * 60 * 60 * 1000)
  return new Date() >= unlockDate
}

export function addCustomSection(section: Omit<Section, "createdAt">): Section {
  const newSection: Section = {
    ...section,
    createdAt: new Date().toISOString(),
  }

  if (typeof window !== "undefined") {
    const customSections = JSON.parse(localStorage.getItem("custom_sections") || "[]") as Section[]
    customSections.push(newSection)
    localStorage.setItem("custom_sections", JSON.stringify(customSections))
  }

  return newSection
}
