import type { QuestArc } from "../types/quest";

// ─── QUEST DATA ───────────────────────────────────────────────────────────────
// Replace each node's `progress` and `status` with live API values.
// Everything else (titles, flavour, rewards) is content — edit freely.

export const QUEST_ARCS: QuestArc[] = [
  // ── ARC 1: The Calm Seas ──────────────────────────────────────────────────
  {
    id: "east_blue",
    name: "The Calm Seas",
    subtitle: "Every great voyage begins at shore",
    emoji: "🌊",
    accentColor: "#0ea5e9",
    accentDark: "#0369a1",
    bgFrom: "#0c4a6e",
    bgTo: "#075985",
    nodes: [
      {
        id: "eb_1",
        title: "First Steps",
        flavourText:
          '"I\'ll become the greatest sailor who ever lived!" — Every legend begins with a single step.',
        islandName: "Hawthorn Cove",
        emoji: "🏝️",
        requirement: {
          type: "questions",
          target: 10,
          label: "questions answered",
        },
        progress: 10,
        status: "completed",
        reward: { xp: 50, title: "Cabin Hand" },
      },
      {
        id: "eb_2",
        title: "Cast Off",
        flavourText:
          '"The sea doesn\'t care who you were — only who you become." Chart your course.',
        islandName: "Redmast Port",
        emoji: "⚓",
        requirement: {
          type: "sessions",
          target: 3,
          label: "practice sessions",
        },
        progress: 3,
        status: "completed",
        reward: { xp: 75 },
      },
      {
        id: "eb_3",
        title: "The Tangerine Coast",
        flavourText:
          '"Even alone, I protect my crew." Keep your streak burning bright.',
        islandName: "Citrus Bay",
        emoji: "🍊",
        requirement: { type: "streak", target: 3, label: "day streak" },
        progress: 3,
        status: "completed",
        reward: {
          xp: 100,
          item: "streak_shield",
          itemLabel: "Streak Shield ×1",
        },
      },
      {
        id: "eb_4",
        title: "The Fog Village",
        flavourText:
          '"I\'ve fooled everyone — except myself." Prove yourself across new territory.',
        islandName: "Mistholm Village",
        emoji: "🌿",
        requirement: { type: "topics", target: 5, label: "topics practiced" },
        progress: 3,
        status: "claimable",
        reward: { xp: 125, title: "Deckhand" },
      },
      {
        id: "eb_5",
        title: "The Floating Galley",
        flavourText:
          '"Nothing happened." Cut through the noise with razor accuracy.',
        islandName: "The Iron Kitchen",
        emoji: "🍖",
        requirement: {
          type: "accuracy",
          target: 75,
          label: "% accuracy (any session)",
        },
        progress: 58,
        status: "active",
        reward: {
          xp: 150,
          item: "xp_boost",
          itemLabel: "2× XP Boost (1 session)",
        },
      },
      {
        id: "eb_6",
        title: "The Sharkfin Strait",
        flavourText:
          '"This is my dream!" Conquer the Calm Seas before the Grand Voyage beckons.',
        islandName: "Sharkfin Strait",
        emoji: "🦈",
        requirement: {
          type: "questions",
          target: 100,
          label: "questions answered",
        },
        progress: 0,
        status: "locked",
        reward: { xp: 300, title: "First Mate" },
      },
    ],
  },

  // ── ARC 2: The Amber Wastes ───────────────────────────────────────────────
  {
    id: "alabasta",
    name: "The Amber Wastes",
    subtitle: "Through the desert sands, to glory",
    emoji: "🏜️",
    accentColor: "#f59e0b",
    accentDark: "#b45309",
    bgFrom: "#78350f",
    bgTo: "#92400e",
    nodes: [
      {
        id: "al_1",
        title: "Crossing the Mirrorlake",
        flavourText:
          '"A true sailor never makes excuses after losing." Enter the warzone.',
        islandName: "Mirrorlake Basin",
        emoji: "💧",
        requirement: {
          type: "sessions",
          target: 5,
          label: "practice sessions",
        },
        progress: 5,
        status: "completed",
        reward: { xp: 150 },
      },
      {
        id: "al_2",
        title: "The Sand March",
        flavourText:
          '"They underestimated us." Grind through the scorching heat.',
        islandName: "The Amber Dunes",
        emoji: "🌵",
        requirement: {
          type: "questions",
          target: 50,
          label: "questions answered",
        },
        progress: 50,
        status: "completed",
        reward: {
          xp: 175,
          item: "xp_boost",
          itemLabel: "1.5× XP Boost (1 session)",
        },
      },
      {
        id: "al_3",
        title: "The Sunstone Palace",
        flavourText: '"I refuse to let my crew fall!" Climb the leaderboard.',
        islandName: "Sunstone City",
        emoji: "🏰",
        requirement: {
          type: "leaderboard",
          target: 10,
          label: "leaderboard rank",
        },
        progress: 22,
        status: "active",
        reward: { xp: 250, title: "Corsair" },
      },
      {
        id: "al_4",
        title: "Blades in the Bazaar",
        flavourText:
          '"I\'ll cut through iron." Maintain brutal accuracy under pressure.',
        islandName: "Bazaar Streets",
        emoji: "⚔️",
        requirement: {
          type: "accuracy",
          target: 85,
          label: "% accuracy (any session)",
        },
        progress: 0,
        status: "locked",
        reward: {
          xp: 300,
          item: "streak_shield",
          itemLabel: "Streak Shield ×2",
        },
      },
      {
        id: "al_5",
        title: "The Warlord Falls",
        flavourText:
          "\"I'm not dying here, partner.\" Prove you're worthy of the Wastes.",
        islandName: "The Throne Dune",
        emoji: "👑",
        requirement: { type: "streak", target: 7, label: "day streak" },
        progress: 0,
        status: "locked",
        reward: { xp: 400, title: "Corsair" },
      },
      {
        id: "al_6",
        title: "The Princess's Farewell",
        flavourText:
          '"Even if our paths split, you\'ll always sail with my crew." The arc is complete.',
        islandName: "Mirrorlake Harbour",
        emoji: "🌅",
        requirement: { type: "xp", target: 1000, label: "total XP earned" },
        progress: 0,
        status: "locked",
        reward: { xp: 500, title: "Sea Emperor" },
      },
    ],
  },

  // ── ARC 3: The Sky Reaches ────────────────────────────────────────────────
  {
    id: "skypiea",
    name: "The Sky Reaches",
    subtitle: "Ascend to the island above the clouds",
    emoji: "☁️",
    accentColor: "#a855f7",
    accentDark: "#7c3aed",
    bgFrom: "#3b0764",
    bgTo: "#4c1d95",
    nodes: [
      {
        id: "sk_1",
        title: "The Skyward Torrent",
        flavourText:
          '"The sky island is real!" Believe it — launch yourself upward.',
        islandName: "Upper Cloudreach",
        emoji: "🌤️",
        requirement: {
          type: "topics",
          target: 3,
          label: "topics at 70%+ accuracy",
        },
        progress: 0,
        status: "locked",
        reward: { xp: 200 },
      },
      {
        id: "sk_2",
        title: "The Trial of Storms",
        flavourText:
          '"Follow the wind, follow the stars." Navigate every corner of the cloudscape.',
        islandName: "The Tempest Ordeal",
        emoji: "🎯",
        requirement: {
          type: "topics",
          target: 8,
          label: "distinct topics practiced",
        },
        progress: 0,
        status: "locked",
        reward: {
          xp: 250,
          item: "xp_boost",
          itemLabel: "2× XP Boost (2 sessions)",
        },
      },
      {
        id: "sk_3",
        title: "The Sky God's Wrath",
        flavourText: '"I am the heavens." Are you good enough to defy a deity?',
        islandName: "The Celestial Ark",
        emoji: "⚡",
        requirement: {
          type: "accuracy",
          target: 90,
          label: "% accuracy (any session)",
        },
        progress: 0,
        status: "locked",
        reward: { xp: 400, title: "Sea Emperor" },
      },
      {
        id: "sk_4",
        title: "The Ancient Bell",
        flavourText:
          '"I hear the torrent calling." Ring the bell — make history echo.',
        islandName: "The Cloudvine Spire",
        emoji: "🔔",
        requirement: {
          type: "questions",
          target: 250,
          label: "questions answered",
        },
        progress: 0,
        status: "locked",
        reward: {
          xp: 500,
          item: "streak_shield",
          itemLabel: "Streak Shield ×3",
        },
      },
      {
        id: "sk_5",
        title: "The Gilded Ruins",
        flavourText:
          '"THE GREAT CAPTAIN WAS HERE." Touch the treasure that all legends sought.',
        islandName: "Aureveil",
        emoji: "💰",
        requirement: { type: "xp", target: 3000, label: "total XP earned" },
        progress: 0,
        status: "locked",
        reward: { xp: 750, title: "Grand Captain" },
      },
      {
        id: "sk_6",
        title: "The Grand Captain",
        flavourText:
          '"This is my treasure!" You\'ve reached the summit — your target score awaits.',
        islandName: "The Last Isle",
        emoji: "🏴‍☠️",
        requirement: {
          type: "sessions",
          target: 30,
          label: "total sessions completed",
        },
        progress: 0,
        status: "locked",
        reward: {
          xp: 1000,
          title: "Grand Captain",
          item: "xp_boost",
          itemLabel: "Permanent 1.2× XP",
        },
      },
    ],
  },
];
