import { Questionnaire } from '@/types';

const likertOptions = [
  { id: 1, content: '非常不同意', value: '1' },
  { id: 2, content: '比较不同意', value: '2' },
  { id: 3, content: '不确定', value: '3' },
  { id: 4, content: '比较同意', value: '4' },
  { id: 5, content: '非常同意', value: '5' },
];

const bipolarOptions: Record<number, { left: string; right: string }> = {
  37: { left: '自信', right: '不安' },
  38: { left: '理性', right: '异想天开' },
  39: { left: '没什么野心', right: '有驱动力' },
  40: { left: '外向', right: '内向' },
  41: { left: '有条理', right: '混乱' },
  42: { left: '感性亲近', right: '疏离' },
  43: { left: '奔放', right: '温顺' },
  44: { left: '几乎不哭', right: '容易哭' },
  45: { left: '强硬', right: '温和' },
  46: { left: '散乱', right: '自律' },
  47: { left: '有伤害性', right: '滋养他人' },
  48: { left: '攀附地位', right: '不随大流' },
  49: { left: '稳定', right: '不稳定' },
  50: { left: '人际取向', right: '事物取向' },
  51: { left: '乐观', right: '恐惧' },
  52: { left: '自发', right: '审慎' },
  53: { left: '厚脸皮', right: '敏感' },
  54: { left: '中立', right: '有主见' },
};

export const oeps: Questionnaire = {
  id: 'oeps',
  title: '开放式九型人格量表（OEPS）',
  description: '基于开放心理测量项目的九型人格自评量表',
  category: '人格',
  tags: ['九型人格', '自评'],
  time: '5-8分钟',
  details: {
    introduction:
      '开放式九型人格量表（Open Enneagram of Personality Scales, OEPS）使用九型人格模型，将作答者与九种常见人格类型描述进行匹配。九型人格更适合作为自我探索工具，不属于主流临床诊断模型。',
    questionCount: '54个项目',
    evaluationTime: '通常为5-8分钟',
    instructions:
      '请根据这些描述平时有多符合你来作答。前半部分为同意程度题，后半部分为两极描述题，请选择更接近自己的一侧。',
    scoringMethod: [
      '每题按1-5分计分。',
      '前36题按九型人格类型分组计分。',
      '后18题按两极描述方向为相关类型加分。',
      '结果按每一型的平均得分排序，最高分作为主要候选类型。',
    ],
    dimensions: [
      { name: '1号 改革者', description: '追求正确、负责、自律，害怕自己有缺陷或不够好。' },
      { name: '2号 助人者', description: '重视关系、需要被爱与被需要，倾向照顾他人。' },
      { name: '3号 成就者', description: '重视效率、成就和被认可，害怕失败或平庸。' },
      { name: '4号 自我型', description: '重视独特性、真实感和情绪深度。' },
      { name: '5号 探索者', description: '重视知识、能力和独立空间，倾向观察和理解。' },
      { name: '6号 忠诚者', description: '重视安全、支持和可靠性，容易预想风险。' },
      { name: '7号 享乐者', description: '追求自由、新体验、快乐和可能性。' },
      { name: '8号 挑战者', description: '重视力量、直接和掌控，害怕被控制或受伤。' },
      { name: '9号 调停者', description: '追求和谐、稳定和避免冲突。' },
    ],
    notes: [
      'OEPS 适合自我探索，不构成心理诊断。',
      '九型人格不是主流心理学研究模型，结果应作为参考材料。',
      '如果多个类型分数接近，可以结合文字描述继续自我核对。',
    ],
    references: [
      {
        text: 'Open Psychometrics: Open Enneagram of Personality Scales',
        url: 'https://openpsychometrics.org/tests/OEPS/',
      },
      {
        text: 'Development of the Open Enneagram of Personality Scales',
        url: 'https://openpsychometrics.org/tests/OEPS/development/',
      },
    ],
  },
  questions: [
    { id: 1, content: '我追求高效率。' },
    { id: 2, content: '我生命中最重要的是与他人的关系。' },
    { id: 3, content: '我把工作放在优先位置。' },
    { id: 4, content: '我会幻想自己坠入爱河。' },
    { id: 5, content: '我不太容易表现情绪。' },
    { id: 6, content: '害怕被利用让我不太容易信任别人。' },
    { id: 7, content: '我总是需要新的体验。' },
    { id: 8, content: '需要领导者时，我会自然站出来。' },
    { id: 9, content: '别人争吵时，我会离开现场。' },
    { id: 10, content: '我是完美主义者。' },
    { id: 11, content: '我很难拒绝别人。' },
    { id: 12, content: '我喜欢显得突出。' },
    { id: 13, content: '我很享受苦乐参半的感觉。' },
    { id: 14, content: '我会花很多时间独自投入自己的兴趣。' },
    { id: 15, content: '做决定前，我会先征求别人的意见。' },
    { id: 16, content: '我能和任何人持续聊任何话题。' },
    { id: 17, content: '我喜欢没有人意见一致的谈话。' },
    { id: 18, content: '为了避免麻烦，我会把想法藏在心里。' },
    { id: 19, content: '我经常不得不重做别人做过的工作。' },
    { id: 20, content: '帮助别人实现目标会让我很满足。' },
    { id: 21, content: '醒来后有一整天安排好的活动会让我感觉不错。' },
    { id: 22, content: '我会哭。' },
    { id: 23, content: '我大部分时间都在试图理解事情。' },
    { id: 24, content: '我会遵从规范。' },
    { id: 25, content: '我比较不受拘束。' },
    { id: 26, content: '我希望别人告诉我真相，而不是顾及我的感受。' },
    { id: 27, content: '我很接纳，也很灵活。' },
    { id: 28, content: '我会把自己的物品整理好。' },
    { id: 29, content: '我把家庭放在优先位置。' },
    { id: 30, content: '金钱对我的幸福很重要。' },
    { id: 31, content: '我更愿意站在反叛者一边，而不是既有秩序一边。' },
    { id: 32, content: '我喜欢智力挑战。' },
    { id: 33, content: '我很忠诚。' },
    { id: 34, content: '我总会试着用好笑的玩笑打破紧张气氛。' },
    { id: 35, content: '我喜欢果断的领导者。' },
    { id: 36, content: '我会避免正面冲突。' },
    { id: 37, content: '请选择更接近你的描述：自信 / 不安' },
    { id: 38, content: '请选择更接近你的描述：理性 / 异想天开' },
    { id: 39, content: '请选择更接近你的描述：没什么野心 / 有驱动力' },
    { id: 40, content: '请选择更接近你的描述：外向 / 内向' },
    { id: 41, content: '请选择更接近你的描述：有条理 / 混乱' },
    { id: 42, content: '请选择更接近你的描述：感性亲近 / 疏离' },
    { id: 43, content: '请选择更接近你的描述：奔放 / 温顺' },
    { id: 44, content: '请选择更接近你的描述：几乎不哭 / 容易哭' },
    { id: 45, content: '请选择更接近你的描述：强硬 / 温和' },
    { id: 46, content: '请选择更接近你的描述：散乱 / 自律' },
    { id: 47, content: '请选择更接近你的描述：有伤害性 / 滋养他人' },
    { id: 48, content: '请选择更接近你的描述：攀附地位 / 不随大流' },
    { id: 49, content: '请选择更接近你的描述：稳定 / 不稳定' },
    { id: 50, content: '请选择更接近你的描述：人际取向 / 事物取向' },
    { id: 51, content: '请选择更接近你的描述：乐观 / 恐惧' },
    { id: 52, content: '请选择更接近你的描述：自发 / 审慎' },
    { id: 53, content: '请选择更接近你的描述：厚脸皮 / 敏感' },
    { id: 54, content: '请选择更接近你的描述：中立 / 有主见' },
  ],
  renderOptions: (id: number) => {
    const pair = bipolarOptions[id];
    if (!pair) return likertOptions;
    return [
      { id: 1, content: `非常偏向：${pair.left}`, value: '1' },
      { id: 2, content: `比较偏向：${pair.left}`, value: '2' },
      { id: 3, content: '两者差不多', value: '3' },
      { id: 4, content: `比较偏向：${pair.right}`, value: '4' },
      { id: 5, content: `非常偏向：${pair.right}`, value: '5' },
    ];
  },
};
