// Mock-data for landing-mockup. Etterligner felter fra ekte WZN_Store
// uten å hente fra Supabase — bare nok til at hero/cards leser realistisk.

const MOCK_TOURNAMENTS = [
  { id: "t1", name: "Vinter Cup #4", type: "bracket", status: "open",
    start_date: "2026-05-22T20:00:00", team_size: "trios", games: 5,
    maps: ["Verdansk", "Rebirth"], max_teams: 32, prize_pool: 8000, registered: 24,
    featured: false },
  { id: "t3", name: "Late Night Killrace", type: "killrace", status: "open",
    start_date: "2026-05-23T22:00:00", team_size: "quads", games: 3,
    maps: ["Rebirth"], max_teams: 24, prize_pool: 4000, registered: 18,
    featured: true },
  { id: "t4", name: "Quads Madness", type: "bracket", status: "live",
    start_date: "2026-05-21T21:00:00", team_size: "quads", games: 5,
    maps: ["Verdansk", "Rebirth", "Vondel"], max_teams: 24, prize_pool: 6000, registered: 24,
    featured: false },
  { id: "t5", name: "Søndags-Showdown", type: "bracket", status: "open",
    start_date: "2026-05-25T20:00:00", team_size: "trios", games: 5,
    maps: ["Verdansk"], max_teams: 16, prize_pool: 5000, registered: 9,
    featured: false },
  { id: "t6", name: "Onsdag Killrace", type: "killrace", status: "open",
    start_date: "2026-05-27T21:00:00", team_size: "trios", games: 4,
    maps: ["Rebirth", "Vondel"], max_teams: 20, prize_pool: 3000, registered: 11,
    featured: false },
];

// Avsluttede turneringer (siste 4 uker), brukes på turneringsside
const PAST_TOURNAMENTS = [
  { id: "p1", name: "Påske Killrace", date: "2026-04-12", team_size: "trios",
    winner: { tag: "NRD", name: "Nordic Wolves" }, prize: 4000, teams: 22 },
  { id: "p2", name: "Vinter Cup #3", date: "2026-04-05", team_size: "trios",
    winner: { tag: "KRK", name: "Kraken Squad" }, prize: 6000, teams: 28 },
  { id: "p3", name: "Late Night Trios", date: "2026-03-28", team_size: "trios",
    winner: { tag: "IRK", name: "Iron Kings" }, prize: 3000, teams: 16 },
  { id: "p4", name: "Quads Open #2", date: "2026-03-22", team_size: "quads",
    winner: { tag: "FRD", name: "Frost Division" }, prize: 5000, teams: 20 },
];

// LP (Ligapoeng) — WZN Ligas egne poeng.
// Placement-poeng (1.plass=15, 2.=12, 3.=10, 4-5=8, 6-10=5, 11-15=3, 16+=1)
// + 1p per kill. Beste 4 av 5 games per matchday teller. Akkumulert over sesongen.
const LP_SYSTEM = {
  name: "LP",
  fullName: "Ligapoeng",
  desc: "Placement-poeng + 1p/kill. Beste 4 av 5 games per matchday.",
  placement: { 1:15, 2:12, 3:10, "4-5":8, "6-10":5, "11-15":3, "16+":1 },
};

const MOCK_TEAMS = [
  { rank: 1, tag: "NRD", name: "Nordic Wolves",    lp: 1840, kd: 1.82, form: [1,1,2,1,3], region: "OSLO",   wins: 14, losses: 1 },
  { rank: 2, tag: "KRK", name: "Kraken Squad",     lp: 1620, kd: 1.71, form: [2,1,3,2,1], region: "BERGEN", wins: 12, losses: 3 },
  { rank: 3, tag: "IRK", name: "Iron Kings",       lp: 1510, kd: 1.65, form: [1,3,2,4,1], region: "TRD",    wins: 11, losses: 4 },
  { rank: 4, tag: "FRD", name: "Frost Division",   lp: 1390, kd: 1.58, form: [3,2,1,5,2], region: "TROMSØ", wins: 10, losses: 5 },
  { rank: 5, tag: "NOP", name: "Night Ops",        lp: 1240, kd: 1.51, form: [4,3,2,1,6], region: "STVG",   wins:  9, losses: 6 },
  { rank: 6, tag: "RZ6", name: "Raze Six",         lp: 1110, kd: 1.44, form: [5,4,3,2,1], region: "OSLO",   wins:  8, losses: 7 },
  { rank: 7, tag: "TXX", name: "Triple X",         lp:  980, kd: 1.38, form: [6,5,7,2,3], region: "DRMN",   wins:  7, losses: 8 },
  { rank: 8, tag: "BLZ", name: "Blitz Gang",       lp:  850, kd: 1.32, form: [7,6,4,8,5], region: "OSLO",   wins:  6, losses: 9 },
];

const MOCK_TOP_PLAYERS = [
  { gamer: "cryptic",   team: "NRD", kd: 2.41, kills_md: 14.2, hs: 38 },
  { gamer: "NRG_ole",   team: "NRD", kd: 2.18, kills_md: 12.8, hs: 34 },
  { gamer: "hawk1",     team: "KRK", kd: 2.04, kills_md: 12.1, hs: 32 },
  { gamer: "FrostByte", team: "FRD", kd: 1.97, kills_md: 11.5, hs: 30 },
  { gamer: "sven98",    team: "IRK", kd: 1.92, kills_md: 11.0, hs: 28 },
];

// Sesong-06 — liga er i "interesse-fase". Vi har en løs liste av folk
// som har sagt fra, men ingen hard countdown / fast launch énnå.
const SEASON_06 = {
  target_launch: "HØST 2026",
  interested_count: 47,            // antall som har meldt interesse
  interested_teams: 11,            // hvorav komplette lag
  prize_pool_planned: 150000,
  matchdays_planned: 20,
};

const MOCK_EXTRA_PLAYERS = [
  { gamer: "cryptic",    team: "NRD", kd: 2.41, kills_md: 14.2, hs: 38, wins: 84, gulag: 71, region: "OSLO" },
  { gamer: "NRG_ole",    team: "NRD", kd: 2.18, kills_md: 12.8, hs: 34, wins: 79, gulag: 68, region: "OSLO" },
  { gamer: "hawk1",      team: "KRK", kd: 2.04, kills_md: 12.1, hs: 32, wins: 72, gulag: 64, region: "BERGEN" },
  { gamer: "FrostByte",  team: "FRD", kd: 1.97, kills_md: 11.5, hs: 30, wins: 69, gulag: 62, region: "TROMSØ" },
  { gamer: "sven98",     team: "IRK", kd: 1.92, kills_md: 11.0, hs: 28, wins: 66, gulag: 60, region: "STVG" },
  { gamer: "kjell-87",   team: "NOP", kd: 1.84, kills_md: 10.4, hs: 27, wins: 62, gulag: 58, region: "TRD" },
  { gamer: "ZRO_lars90", team: "RZ6", kd: 1.79, kills_md:  9.8, hs: 26, wins: 58, gulag: 55, region: "OSLO" },
  { gamer: "IronMike",   team: "IRK", kd: 1.71, kills_md:  9.2, hs: 24, wins: 54, gulag: 52, region: "DRMN" },
  { gamer: "Norseman",   team: "TXX", kd: 1.68, kills_md:  8.9, hs: 23, wins: 51, gulag: 50, region: "OSLO" },
  { gamer: "ghost_k",    team: "BLZ", kd: 1.62, kills_md:  8.4, hs: 22, wins: 48, gulag: 48, region: "BERGEN" },
  { gamer: "arktis",     team: "GHX", kd: 1.58, kills_md:  8.1, hs: 21, wins: 45, gulag: 46, region: "TRD" },
  { gamer: "vikingr01",  team: "VKR", kd: 1.54, kills_md:  7.8, hs: 20, wins: 42, gulag: 44, region: "OSLO" },
];
function formatTrnDate(iso) {
  const d = new Date(iso);
  const days = ["SØN","MAN","TIR","ONS","TOR","FRE","LØR"];
  const dd = String(d.getDate()).padStart(2,"0");
  const mm = String(d.getMonth()+1).padStart(2,"0");
  const hh = d.toTimeString().slice(0,5);
  return { day: days[d.getDay()], date: `${dd}.${mm}`, time: hh };
}

// Countdown in days/hours/min/sec
function useCountdown(targetISO) {
  const [now, setNow] = React.useState(Date.now());
  React.useEffect(() => {
    const id = setInterval(() => setNow(Date.now()), 1000);
    return () => clearInterval(id);
  }, []);
  const diff = Math.max(0, new Date(targetISO).getTime() - now);
  const d = Math.floor(diff / 86400000);
  const h = Math.floor((diff % 86400000) / 3600000);
  const m = Math.floor((diff % 3600000) / 60000);
  const s = Math.floor((diff % 60000) / 1000);
  return { d, h, m, s };
}

Object.assign(window, {
  MOCK_TOURNAMENTS, PAST_TOURNAMENTS, MOCK_TEAMS, MOCK_TOP_PLAYERS,
  MOCK_EXTRA_PLAYERS, SEASON_06, LP_SYSTEM,
  formatTrnDate, useCountdown,
});
