// app-data.jsx — All application data for VantageBet prototype

// theme = artwork composition; palette = [deep, mid, bright] + glow/accent for that composition
const APP_GAMES = [
  { id:1,  name:'Sands of Anubis',   short:'SANDS OF ANUBIS', provider:'Aurum Studios', theme:'egyptian', palette:['#1B0E00','#5A3300','#C98A12'], glow:'#F7C948', accent:'#00C2B0', badge:'HOT',     rtp:'96.2%', volatility:'High', minBet:0.20, maxBet:100,  players:null },
  { id:2,  name:'Sugar Rush Royale', short:'SUGAR RUSH',      provider:'Fizzworks',     theme:'candy',    palette:['#3A0140','#8A0F79','#F250A8'], glow:'#FF8AD1', accent:'#7CE0FF', badge:'HOT',     rtp:'96.5%', volatility:'High', minBet:0.20, maxBet:250,  players:null },
  { id:3,  name:'Stampede Gold',     short:'STAMPEDE GOLD',   provider:'Wildstack',     theme:'western',  palette:['#2A1200','#7E3A0A','#E08A2B'], glow:'#FFB65C', accent:'#E8531F', badge:null,      rtp:'96.1%', volatility:'High', minBet:0.25, maxBet:125,  players:null },
  { id:4,  name:'Titans of Olympus', short:'TITANS',          provider:'Coliseum',      theme:'mythology',palette:['#050B26','#12296E','#3E63C8'], glow:'#8FB4FF', accent:'#F5D14A', badge:null,      rtp:'95.0%', volatility:'Med',  minBet:0.10, maxBet:500,  players:null },
  { id:5,  name:'Wrath of Odin',     short:'WRATH OF ODIN',   provider:'Coliseum',      theme:'mythology',palette:['#071018','#173040','#3D6E82'], glow:'#9FE9FF', accent:'#C7D8E0', badge:null,      rtp:'95.8%', volatility:'High', minBet:0.10, maxBet:20,   players:null },
  { id:6,  name:'Reef Riches',       short:'REEF RICHES',     provider:'NovaReel',      theme:'ocean',    palette:['#001A2E','#014A6E','#0E9AC0'], glow:'#5FE3E0', accent:'#FFD34E', badge:'NEW',     rtp:'96.7%', volatility:'Med',  minBet:0.10, maxBet:250,  players:null },
  { id:7,  name:'Barnyard Bonanza',  short:'BARNYARD',        provider:'Wildstack',     theme:'western',  palette:['#12240A','#3C5A16','#7BA82E'], glow:'#CFE86B', accent:'#F0A81E', badge:null,      rtp:'96.5%', volatility:'Med',  minBet:0.20, maxBet:100,  players:null },
  { id:8,  name:'Blackjack Royale',  short:'BLACKJACK ROYALE',provider:'Vertex Live',   theme:'cards',    palette:['#04180E','#0A3A22','#0E6A3C'], glow:'#3BE08A', accent:'#F5D14A', badge:null,      rtp:'98.5%', volatility:'Low',  minBet:1.00, maxBet:2000, players:null },
  { id:9,  name:'Canyon Kings',      short:'CANYON KINGS',    provider:'Wildstack',     theme:'western',  palette:['#26060A','#6E1C10','#C24A1E'], glow:'#FF9A52', accent:'#FFD070', badge:null,      rtp:'96.5%', volatility:'High', minBet:0.20, maxBet:100,  players:null },
  { id:10, name:'Eye of the Nile',   short:'EYE OF THE NILE', provider:'Aurum Studios', theme:'egyptian', palette:['#031A1C','#064A46','#0E8A6E'], glow:'#38E0B0', accent:'#F5C542', badge:null,      rtp:'96.0%', volatility:'High', minBet:0.20, maxBet:100,  players:null },
  { id:11, name:'Fortune Vault',     short:'FORTUNE VAULT',   provider:'NovaReel',      theme:'fortune',  palette:['#1A1200','#4A3400','#B8860B'], glow:'#FFE07A', accent:'#FF5C8A', badge:'JACKPOT', rtp:'88.1%', volatility:'Med',  minBet:0.25, maxBet:6.25, players:null },
  { id:12, name:'Nova Burst',        short:'NOVA BURST',      provider:'Neon Forge',    theme:'cyber',    palette:['#0B0230','#3A0A78','#7A1ED0'], glow:'#C46BFF', accent:'#22E0D6', badge:null,      rtp:'96.3%', volatility:'Med',  minBet:0.10, maxBet:100,  players:null },
  { id:13, name:'Volt Roulette',     short:'VOLT ROULETTE',   provider:'Evergreen Live',theme:'wheel',    palette:['#1A1000','#40260A','#B07A1E'], glow:'#FFD24A', accent:'#FFE58A', badge:'LIVE',    rtp:'97.3%', volatility:'Low',  minBet:0.20, maxBet:5000, players:284 },
  { id:14, name:'Carnival Wheel',    short:'CARNIVAL WHEEL',  provider:'Evergreen Live',theme:'wheel',    palette:['#0A0630','#2A146E','#5030C0'], glow:'#8A7CFF', accent:'#FF6BA8', badge:'LIVE',    rtp:'96.1%', volatility:'Low',  minBet:0.10, maxBet:5000, players:512 },
  { id:15, name:'Grand Roulette',    short:'GRAND ROULETTE',  provider:'Evergreen Live',theme:'wheel',    palette:['#04180E','#0A3A22','#0E6A3C'], glow:'#3BE08A', accent:'#F5D14A', badge:'LIVE',    rtp:'97.3%', volatility:'Low',  minBet:0.50, maxBet:10000,players:97  },
  { id:16, name:'Turbo Blackjack',   short:'TURBO BLACKJACK', provider:'Evergreen Live',theme:'cards',    palette:['#1A0410','#4A0A28','#8A1244'], glow:'#FF6B9E', accent:'#F5D14A', badge:'LIVE',    rtp:'99.5%', volatility:'Low',  minBet:1.00, maxBet:5000, players:143 },
  { id:17, name:"Dragon's Fortune",  short:"DRAGON'S FORTUNE",provider:'Jade Dragon',   theme:'dragon',   palette:['#240202','#6E0A0A','#C81818'], glow:'#FF7A3C', accent:'#FFD24A', badge:'LIVE',    rtp:'96.7%', volatility:'Low',  minBet:0.10, maxBet:5000, players:76  },
  { id:18, name:'Lost Temple',       short:'LOST TEMPLE',     provider:'NovaReel',      theme:'jungle',   palette:['#04170E','#0C3A22','#1E7A46'], glow:'#6BE89A', accent:'#F5C542', badge:null,      rtp:'96.0%', volatility:'Med',  minBet:0.20, maxBet:50,   players:null },
  { id:19, name:'Tome of Ra',        short:'TOME OF RA',      provider:'Aurum Studios', theme:'egyptian', palette:['#260602','#6E1C08','#C86A16'], glow:'#FFB84A', accent:'#38E0B0', badge:null,      rtp:'96.2%', volatility:'High', minBet:0.10, maxBet:100,  players:null },
  { id:20, name:'Glorp Arcade',      short:'GLORP ARCADE',    provider:'Neon Forge',    theme:'cyber',    palette:['#02180A','#0A4A28','#12A050'], glow:'#5FFF9E', accent:'#FF4ED6', badge:null,      rtp:'96.5%', volatility:'High', minBet:0.20, maxBet:100,  players:null },
];
// derive a CSS fallback gradient from each palette (used where SVG art isn't rendered)
APP_GAMES.forEach(g => { g.bg = `linear-gradient(150deg, ${g.palette[0]}, ${g.palette[1]} 55%, ${g.palette[2]})`; });

const SPORT_EVENTS = [
  { id:1,  home:'Man City',  homeBadge:'MC',  homeColor:'#6CABDD', away:'Arsenal',    awayBadge:'ARS', awayColor:'#EF0107', homeScore:2,   awayScore:1,  time:"67'",     competition:'Premier League',  league:'pl',     isLive:true,  sport:'football',   odds:{home:1.42, draw:4.80, away:7.20} },
  { id:2,  home:'PSG',       homeBadge:'PSG', homeColor:'#004170', away:'Real Madrid', awayBadge:'RM',  awayColor:'#FEBE10', homeScore:0,   awayScore:0,  time:"24'",     competition:'Champions League', league:'ucl',    isLive:true,  sport:'football',   odds:{home:2.60, draw:3.40, away:2.80} },
  { id:3,  home:'Lakers',    homeBadge:'LAL', homeColor:'#552583', away:'Warriors',    awayBadge:'GSW', awayColor:'#1D428A', homeScore:68,  awayScore:71, time:'Q3 4:22', competition:'NBA',             league:'nba',    isLive:true,  sport:'basketball', odds:{home:2.10, away:1.75} },
  { id:4,  home:'Liverpool', homeBadge:'LIV', homeColor:'#C8102E', away:'Chelsea',     awayBadge:'CHE', awayColor:'#034694', homeScore:null,awayScore:null,time:'Today 20:45',competition:'Premier League',league:'pl',    isLive:false, sport:'football',   odds:{home:2.10, draw:3.40, away:3.60} },
  { id:5,  home:'Tottenham', homeBadge:'TOT', homeColor:'#132257', away:'Man United',  awayBadge:'MUN', awayColor:'#DA291C', homeScore:null,awayScore:null,time:'Today 18:00',competition:'Premier League',league:'pl',    isLive:false, sport:'football',   odds:{home:2.40, draw:3.20, away:3.00} },
  { id:6,  home:'Brighton',  homeBadge:'BHA', homeColor:'#0057B8', away:'Everton',     awayBadge:'EVE', awayColor:'#003399', homeScore:null,awayScore:null,time:'Sat 15:00',competition:'Premier League', league:'pl',    isLive:false, sport:'football',   odds:{home:1.85, draw:3.60, away:4.40} },
  { id:7,  home:'Barcelona', homeBadge:'FCB', homeColor:'#A50044', away:'Atletico',    awayBadge:'ATM', awayColor:'#CE3524', homeScore:null,awayScore:null,time:'Today 21:00',competition:'La Liga',      league:'ll',    isLive:false, sport:'football',   odds:{home:1.65, draw:3.80, away:5.50} },
  { id:8,  home:'Bayern',    homeBadge:'FCB', homeColor:'#DC052D', away:'Dortmund',    awayBadge:'BVB', awayColor:'#FDE100', homeScore:null,awayScore:null,time:'Sat 18:30', competition:'Bundesliga',   league:'bl',    isLive:false, sport:'football',   odds:{home:1.50, draw:4.20, away:6.00} },
  { id:9,  home:'Celtics',   homeBadge:'BOS', homeColor:'#007A33', away:'Heat',        awayBadge:'MIA', awayColor:'#98002E', homeScore:null,awayScore:null,time:'Sat 01:00', competition:'NBA',          league:'nba',   isLive:false, sport:'basketball', odds:{home:1.62, away:2.35} },
  { id:10, home:'Djokovic',  homeBadge:'DJO', homeColor:'#004D98', away:'Alcaraz',     awayBadge:'ALC', awayColor:'#C8102E', homeScore:null,awayScore:null,time:'Sun 13:00', competition:'Wimbledon SF', league:'tennis',isLive:false, sport:'tennis',     odds:{home:2.20, away:1.72} },
];

const PAYMENT_METHODS = [
  { id:1, name:'Visa ••• 4242',       icon:'ph-credit-card', lastUsed:true,  type:'card'    },
  { id:2, name:'Mastercard ••• 8810', icon:'ph-credit-card', lastUsed:false, type:'card'    },
  { id:3, name:'Skrill',              icon:'ph-wallet',      lastUsed:false, type:'ewallet' },
  { id:4, name:'Neteller',            icon:'ph-wallet',      lastUsed:false, type:'ewallet' },
  { id:5, name:'Bank Transfer',       icon:'ph-bank',        lastUsed:false, type:'bank'    },
];

const USER = {
  name:'Alex Johnson', initials:'AJ', email:'alex.j@email.com',
  memberSince:'March 2023', kyc:'verified',
  realBalance:1325.83, bonusBalance:50.00, lockedBalance:0,
};

const OPEN_BETS = [
  { id:'VB-2024-001', event:'Man City v Arsenal',  market:'Match Result', outcome:'Man City',  odds:1.42, stake:25.00, potential:35.50, status:'losing',  cashout:12.40 },
  { id:'VB-2024-002', event:'Bayern v Dortmund',   market:'BTTS',         outcome:'Yes',       odds:1.80, stake:10.00, potential:18.00, status:'open',    cashout:null  },
  { id:'VB-2024-003', event:'Djokovic v Alcaraz',  market:'Match Winner', outcome:'Alcaraz',   odds:1.72, stake:50.00, potential:86.00, status:'winning', cashout:71.20 },
];

const SETTLED_BETS = [
  { id:'VB-2024-S01', event:'PSG v Juventus',      market:'BTTS',         outcome:'Yes',       odds:1.72, stake:20.00, payout:34.40, status:'won'  },
  { id:'VB-2024-S02', event:'Celtics v Bucks',     market:'Handicap -5.5',outcome:'Celtics',   odds:1.90, stake:15.00, payout:0,     status:'lost' },
  { id:'VB-2024-S03', event:'Liverpool v Man City', market:'Match Result', outcome:'Draw',      odds:3.40, stake:10.00, payout:34.00, status:'won'  },
];

const ACTIVE_BONUSES = [
  { id:1, name:'Welcome Bonus', wagered:320, total:400, expires:'Jun 25, 2026', amount:50.00, type:'welcome' },
];

const PROMOS = [
  { id:1, tag:'WEEKLY',     title:'50% Reload Bonus',   sub:'Every Monday on first deposit', color:'#5B8AF5', icon:'ph-arrow-circle-up', terms:'Min deposit €20. 35× wagering on bonus.' },
  { id:2, tag:'DAILY',      title:'15% Daily Cashback', sub:'Up to €50 returned every night', color:'#27C484', icon:'ph-coin-vertical',  terms:'Cashback on net losses. No wagering required.' },
  { id:3, tag:'TOURNAMENT', title:'Drops & Wins',        sub:'Win prizes just by playing',    color:'#F5A03A', icon:'ph-trophy',          terms:'Opt-in required. Selected games only.' },
];

const PROVIDERS = [
  {id:1,short:'Aurum'},{id:2,short:'Fizzworks'},{id:3,short:'Wildstack'},
  {id:4,short:'Coliseum'},{id:5,short:'NovaReel'},{id:6,short:'Neon Forge'},
  {id:7,short:'Jade Dragon'},{id:8,short:'Vertex Live'},{id:9,short:'Evergreen'},
  {id:10,short:'Emberplay'},{id:11,short:'Vortex'},{id:12,short:'Lumen'},
];

const RG_LIMITS = [
  { id:'deposit', label:'Weekly Deposit', value:320, max:500, unit:'€', pct:64  },
  { id:'loss',    label:'Daily Loss',     value:45,  max:200, unit:'€', pct:22  },
  { id:'session', label:'Session Time',   value:45,  max:120, unit:'min', pct:38 },
];

Object.assign(window, {
  APP_GAMES, SPORT_EVENTS, PAYMENT_METHODS, USER,
  OPEN_BETS, SETTLED_BETS, ACTIVE_BONUSES, PROMOS,
  PROVIDERS, RG_LIMITS,
});
