// diagnosis.jsx — バックエンドからの診断結果のサンプルペイロード
// 実際の本番では Flutter 側 or fetch でこの形のJSONを受け取る想定

const SAMPLE_DIAGNOSIS = {
  insight: {
    headline: "一人の時間に没頭して、新しい刺激と心地よさの中で自分がレベルアップしていく感覚",
    summary: "あなたが欲しいのは、商品そのものというより、",
  },
  topDesires: [
    { key: "achievement", label: "成果を出したい・達成感がほしい", score: 0.43 },
    { key: "competence", label: "できることを増やしたい・上達したい", score: 0.40 },
    { key: "stimulation", label: "新しい刺激がほしい・退屈から抜け出したい", score: 0.40 },
  ],
  ranking: [
    { rank: 1, key: "achievement", label: "成果を出したい・達成感がほしい", score: 0.43 },
    { rank: 2, key: "competence", label: "できることを増やしたい・上達したい", score: 0.40 },
    { rank: 3, key: "stimulation", label: "新しい刺激がほしい", score: 0.40 },
    { rank: 4, key: "hedonism", label: "気持ちよさ・快適さがほしい", score: 0.40 },
    { rank: 5, key: "security", label: "安心・安定がほしい", score: 0.30 },
    { rank: 6, key: "experience", label: "記憶に残る体験がほしい", score: 0.29 },
    { rank: 7, key: "prevention", label: "失敗や損失を避けたい", score: 0.28 },
    { rank: 8, key: "immediate_affect", label: "買った瞬間の高揚感がほしい", score: 0.28 },
    { rank: 9, key: "private_use", label: "自分だけの世界を充実させたい", score: 0.28 },
    { rank: 10, key: "automation", label: "面倒を自動で任せたい", score: 0.25 },
    { rank: 11, key: "promotion", label: "成長したい・理想に近づきたい", score: 0.20 },
    { rank: 12, key: "premium", label: "最初から良いものを選びたい", score: 0.15 },
    { rank: 13, key: "durable_affect", label: "長く続く満足感がほしい", score: 0.15 },
    { rank: 14, key: "status_power", label: "周囲に影響を与えたい・評価されたい", score: 0.08 },
    { rank: 15, key: "object", label: "手元に残るモノがほしい", score: 0.07 },
    { rank: 16, key: "service", label: "やってもらえるサービスがほしい", score: 0.07 },
    { rank: 17, key: "self_direction", label: "自分らしくありたい・創造性を活かしたい", score: 0.06 },
    { rank: 18, key: "one_time", label: "一度の体験で満足したい", score: 0.06 },
    { rank: 19, key: "autonomy", label: "自分で選びたい・自由でいたい", score: 0.00 },
    { rank: 20, key: "relatedness", label: "人とつながりたい・認められたい", score: 0.00 },
    { rank: 21, key: "benevolence", label: "身近な人の役に立ちたい", score: 0.00 },
    { rank: 22, key: "craft", label: "こだわって自分で作り上げたい", score: 0.00 },
    { rank: 23, key: "social_visible", label: "人から見られる自分を変えたい", score: 0.00 },
    { rank: 24, key: "trial", label: "まずは低リスクで試したい", score: 0.00 },
    { rank: 25, key: "habit", label: "習慣として続けたい", score: 0.00 },
  ],
  analysis: {
    title: "買う理由",
    body: "あなたは「自分の内側が変わる実感」にお金を払うタイプです。人に見せるためではなく、自分自身が心地よく刺激を受けて、体や頭がバージョンアップしていく感覚を求めています。安心感もある程度大事にしつつ、未知の体験には積極的に飛び込みたい。飽きてもいいから今の高揚感を優先する直感型で、「記憶に残る体験」に惹かれやすいです。",
  },
  antiPatterns: {
    title: "刺さりにくい商品",
    items: [
      "人に見せることが前提のもの（SNS映え、ブランド品など）",
      "手間をかけて作り上げる系（DIY、ハンドメイドなど）",
      "人との交流が主目的のもの（コミュニティ型サービスなど）",
    ],
  },
  // === 楽天アフィリエイト連携用の商品データ ===
  // バックエンドから受け取る想定のJSON構造
  // imageUrl: 楽天の画像CDN URL（取れない時は null → ジャンルアイコンにフォールバック）
  // affiliateUrl: 楽天アフィリエイトIDを含んだ最終遷移先URL
  // genre: フォールバック画像の分岐用（gadget/cosme/book/home/food/fashion/experience/wellness）
  // matchScore: 0-1, この商品が診断結果にどれだけマッチしているか
  // matchReason: 診断結果との繋がりを示す短文
  // matchedDesires: 診断パラメータkey配列（チップ表示）
  products: [
    {
      itemCode: "rakuten:sixpad-footfit3",
      name: "SIXPAD Foot Fit 3 Heat 足裏EMS 温熱機能搭載",
      shopName: "SIXPAD公式ショップ",
      price: 49800,
      imageUrl: "uploads/product_1_1.jpg",
      imageUrls: ["uploads/product_1_1.jpg", "uploads/product_1_2.jpg"],
      genre: "wellness",
      hue: 30,
      affiliateUrl: "https://hb.afl.rakuten.co.jp/hgc/PLACEHOLDER/?pc=https://item.rakuten.co.jp/sixpad/footfit3/",
      matchScore: 0.94,
      matchReason: "ソファに座ったまま足裏を鍛えられる。一人時間の没入を邪魔せず、身体がコンディショニングされていく実感が日々積み重なる",
      matchedDesires: ["competence", "private_use", "hedonism"],
    },
    {
      itemCode: "rakuten:tential-bakune",
      name: "TENTIAL BAKUNE Dry リカバリーウェア 一般医療機器",
      shopName: "TENTIAL公式",
      price: 13200,
      imageUrl: "uploads/product_2_1.jpg",
      imageUrls: ["uploads/product_2_1.jpg", "uploads/product_2_2.jpg"],
      genre: "wellness",
      hue: 220,
      affiliateUrl: "https://hb.afl.rakuten.co.jp/hgc/PLACEHOLDER/?pc=https://item.rakuten.co.jp/tential/bakune-dry/",
      matchScore: 0.88,
      matchReason: "着て寝るだけで身体が回復する医療機器ウェア。意識せずに毎日コンディションが整う、自分に静かに効いてくる感覚",
      matchedDesires: ["hedonism", "private_use", "competence"],
    },
    {
      itemCode: "rakuten:powerbreathe-plus",
      name: "POWERbreathe Plus 呼吸筋トレーナー 重負荷モデル",
      shopName: "POWERbreathe公式",
      price: 9680,
      imageUrl: "uploads/product_3_1.jpg",
      imageUrls: ["uploads/product_3_1.jpg", "uploads/product_3_2.jpg"],
      genre: "fitness",
      hue: 160,
      affiliateUrl: "https://hb.afl.rakuten.co.jp/hgc/PLACEHOLDER/?pc=https://item.rakuten.co.jp/powerbreathe/plus/",
      matchScore: 0.82,
      matchReason: "1日30回×2セットで呼吸筋を鍛える。負荷を上げていける数値化された上達体験。鍛えた分だけ確実にパフォーマンスが変わる",
      matchedDesires: ["achievement", "competence", "stimulation"],
    },
    {
      itemCode: "rakuten:renpho-eyemassager",
      name: "RENPHO アイマスク 目元マッサージャー 温感ヒーター搭載",
      shopName: "RENPHO公式",
      price: 7980,
      imageUrl: "uploads/product_4_1.jpg",
      imageUrls: ["uploads/product_4_1.jpg", "uploads/product_4_2.jpg"],
      genre: "wellness",
      hue: 280,
      affiliateUrl: "https://hb.afl.rakuten.co.jp/hgc/PLACEHOLDER/?pc=https://item.rakuten.co.jp/renpho/eyemassager/",
      matchScore: 0.76,
      matchReason: "視界を完全に塞いで音と熱だけになる15分。スマホから強制的に切り離される、現代における究極の一人時間",
      matchedDesires: ["hedonism", "private_use", "experience"],
    },
    {
      itemCode: "rakuten:sea-crystals-epsom",
      name: "シークリスタル エプソムソルト 10kg 国産 入浴剤",
      shopName: "シークリスタルス公式",
      price: 3680,
      imageUrl: "uploads/product_5_1.jpg",
      imageUrls: ["uploads/product_5_1.jpg", "uploads/product_5_2.jpg"],
      genre: "wellness",
      hue: 200,
      affiliateUrl: "https://hb.afl.rakuten.co.jp/hgc/PLACEHOLDER/?pc=https://item.rakuten.co.jp/seacrystals/epsom10kg/",
      matchScore: 0.72,
      matchReason: "湯船に溶かすだけで温泉化する硫酸マグネシウム。何分浸かっても飽きない、感覚が静かに変わっていく没入時間",
      matchedDesires: ["hedonism", "private_use", "stimulation"],
    },
  ],
  meta: {
    note: "商品情報は2026年5月時点のリサーチに基づきます。価格・在庫は変動します。",
  },
};

window.SAMPLE_DIAGNOSIS = SAMPLE_DIAGNOSIS;
