// Shared mock data for all three dashboard variants.
// Kid-appropriate names/nicknames. Heights in cm.

const NICKNAMES = [
  { name: "Lobbe King", age: 9, avatar: "🦖", color: "#FF4D3A" },
  { name: "Zara Zoom", age: 8, avatar: "⚡", color: "#FFD23F" },
  { name: "Max Moon", age: 11, avatar: "🌙", color: "#7B61FF" },
  { name: "Fluff Fury", age: 7, avatar: "🐺", color: "#00C2A8" },
  { name: "Pixel Pete", age: 10, avatar: "👾", color: "#FF6B9D" },
  { name: "Nova Knight", age: 12, avatar: "🛡️", color: "#3DDC97" },
  { name: "Turbo Tilda", age: 9, avatar: "🚀", color: "#FF9F1C" },
  { name: "Captain Cloud", age: 8, avatar: "☁️", color: "#4DA6FF" },
  { name: "Shadow Sam", age: 11, avatar: "🥷", color: "#A364FF" },
  { name: "Bounce Betty", age: 7, avatar: "🦘", color: "#FF4D9D" },
  { name: "Rocket Ray", age: 10, avatar: "🛸", color: "#00E0FF" },
  { name: "Storm Stina", age: 12, avatar: "⛈️", color: "#6EE7B7" },
];

// Leaderboard — top 10 by best jump today (cm)
const LEADERBOARD = [
  { rank: 1, ...NICKNAMES[0], best: 187, jumps: 142, level: 14, xp: 820, trend: "up" },
  { rank: 2, ...NICKNAMES[2], best: 181, jumps: 98,  level: 11, xp: 640, trend: "up" },
  { rank: 3, ...NICKNAMES[5], best: 174, jumps: 156, level: 16, xp: 910, trend: "same" },
  { rank: 4, ...NICKNAMES[4], best: 169, jumps: 203, level: 18, xp: 1240, trend: "down" },
  { rank: 5, ...NICKNAMES[8], best: 162, jumps: 87,  level: 9,  level_xp: 410, trend: "up" },
  { rank: 6, ...NICKNAMES[6], best: 158, jumps: 134, level: 12, xp: 720, trend: "up" },
  { rank: 7, ...NICKNAMES[1], best: 151, jumps: 112, level: 10, xp: 590, trend: "same" },
  { rank: 8, ...NICKNAMES[10],best: 147, jumps: 76,  level: 8,  xp: 380, trend: "up" },
  { rank: 9, ...NICKNAMES[3], best: 141, jumps: 189, level: 15, xp: 860, trend: "down" },
  { rank: 10,...NICKNAMES[9], best: 138, jumps: 94,  level: 7,  xp: 320, trend: "up" },
];

// Currently jumping — those active right now on specific trampolines
const NOW_JUMPING = [
  { ...NICKNAMES[0], pad: "A3", currentHeight: 173, streak: 4 },
  { ...NICKNAMES[7], pad: "B1", currentHeight: 89,  streak: 1 },
  { ...NICKNAMES[11],pad: "C2", currentHeight: 124, streak: 2 },
  { ...NICKNAMES[4], pad: "A7", currentHeight: 156, streak: 6 },
];

// Most recent jumps (realtime feed)
const RECENT_JUMPS = [
  { ...NICKNAMES[0], height: 187, ts: "just nu",   isPR: true,  pad: "A3" },
  { ...NICKNAMES[4], height: 156, ts: "2s sedan",  isPR: false, pad: "A7" },
  { ...NICKNAMES[0], height: 182, ts: "5s sedan",  isPR: false, pad: "A3" },
  { ...NICKNAMES[11],height: 124, ts: "7s sedan",  isPR: false, pad: "C2" },
  { ...NICKNAMES[4], height: 148, ts: "9s sedan",  isPR: false, pad: "A7" },
  { ...NICKNAMES[7], height: 89,  ts: "11s sedan", isPR: false, pad: "B1" },
  { ...NICKNAMES[0], height: 175, ts: "13s sedan", isPR: false, pad: "A3" },
];

// Daily challenge
const CHALLENGE = {
  title: "Dagens Utmaning",
  name: "MOON WALKERS",
  description: "Gör 50 hopp över 1 meter — tillsammans!",
  progress: 37,
  goal: 50,
  reward: "🏅 Månstövlar-badge",
  timeLeft: "4h 12m",
};

// House record
const HOUSE_RECORD = {
  height: 214,
  holder: "Rocket Ray",
  when: "14 mar",
  avatar: "🛸",
};

// Stats for the whole yard today
const YARD_STATS = {
  totalJumps: 12483,
  jumpersToday: 164,
  jumpersNow: 152,
  highestToday: 213,
  avgHeight: 82,
  totalCalories: 38400,
  totalAirtime: "18h 24m",
};

// Mount Everest group challenge — cumulative height climbed by the whole yard
// Goal: 8848m (Everest summit). Each jump contributes its cm/100 in meters.
const MOUNTAIN = {
  goalName: "Mount Everest",
  goalMeters: 8848,
  currentMeters: 5237,
  contributorsToday: 164,
  metersPerMinute: 12.4,
  milestones: [
    { m: 0,    name: "Basecamp",   icon: "⛺" },
    { m: 2000, name: "Camp I",     icon: "🏕️" },
    { m: 4000, name: "Camp II",    icon: "🧗" },
    { m: 6000, name: "Camp III",   icon: "❄️" },
    { m: 7500, name: "Death Zone", icon: "💀" },
    { m: 8848, name: "Summit",     icon: "🚩" },
  ],
  reward: "Hela gänget får gratis glass i cafét",
};

// Groups — friends/teams jumping together, identified by colored armbands
const GROUPS = [
  { id: "g1", name: "Spindelmän",  color: "#E63329", members: 8, bestBumper: "Lobbe K.", bestHeight: 187, totalMeters: 214, leader: true },
  { id: "g2", name: "Blixtkillarna", color: "#FFD23F", members: 6, bestBumper: "Zara Z.",  bestHeight: 168, totalMeters: 182 },
  { id: "g3", name: "Måndansarna",   color: "#7B61FF", members: 10, bestBumper: "Max M.",   bestHeight: 181, totalMeters: 248 },
  { id: "g4", name: "Ninja Squad",   color: "#00C2A8", members: 5, bestBumper: "Shadow S.", bestHeight: 162, totalMeters: 141 },
  { id: "g5", name: "Turbo Trolls",  color: "#FF9F1C", members: 7, bestBumper: "Turbo T.",  bestHeight: 158, totalMeters: 176 },
];

// How many jumpers are in each height bracket right now (for crowd viz)
const HEIGHT_DIST = [
  { band: "0-50",    count: 42, color: "#4DA6FF" },
  { band: "50-100",  count: 58, color: "#3DDC97" },
  { band: "100-150", count: 38, color: "#FFD23F" },
  { band: "150-200", count: 14, color: "#FF9F1C" },
  { band: "200+",    count:  2, color: "#E63329" },
];

// Badges available
const BADGES = [
  { id: "first_100", name: "Första metern", icon: "🎯", desc: "Hoppa över 1m", rarity: "common" },
  { id: "combo_5",   name: "5-kombo",      icon: "🔥", desc: "5 hopp i rad över 1m", rarity: "rare" },
  { id: "moon",      name: "Månvandrare",  icon: "🌙", desc: "Hoppa över 1.5m",  rarity: "epic" },
  { id: "legend",    name: "Legenden",     icon: "👑", desc: "Hoppa över 2m",    rarity: "legendary" },
  { id: "marathon",  name: "Maratonhopp",  icon: "🏃", desc: "200 hopp på en dag", rarity: "rare" },
];

// Spotlight — featured jumper for the big hero moment
const SPOTLIGHT = {
  ...NICKNAMES[0],
  best: 187,
  previousBest: 172,
  badge: "🔥 NYTT PERSONLIGT REKORD",
  level: 14,
  xpGained: 45,
  jumps: 142,
};

Object.assign(window, {
  NICKNAMES, LEADERBOARD, NOW_JUMPING, RECENT_JUMPS,
  CHALLENGE, HOUSE_RECORD, YARD_STATS, BADGES, SPOTLIGHT,
  MOUNTAIN, GROUPS, HEIGHT_DIST,
});
