261 lines
9.1 KiB
TypeScript
261 lines
9.1 KiB
TypeScript
export type Market = {
|
||
id: string;
|
||
label: string;
|
||
odds: number;
|
||
};
|
||
|
||
export type Event = {
|
||
id: string;
|
||
sport: string;
|
||
sportIcon: string;
|
||
league: string;
|
||
country: string;
|
||
homeTeam: string;
|
||
awayTeam: string;
|
||
time: string;
|
||
date: string; // Added date for grouping
|
||
isLive: boolean;
|
||
liveMinute?: number;
|
||
homeScore?: number;
|
||
awayScore?: number;
|
||
markets: Market[];
|
||
totalMarkets: number;
|
||
};
|
||
|
||
export type SportCategory = {
|
||
id: string;
|
||
name: string;
|
||
icon: string;
|
||
count: number;
|
||
};
|
||
|
||
export const sportCategories: SportCategory[] = [
|
||
{ id: "soccer", name: "Soccer", icon: "⚽", count: 142 },
|
||
{ id: "basketball", name: "Basketball", icon: "🏀", count: 38 },
|
||
{ id: "tennis", name: "Tennis", icon: "🎾", count: 26 },
|
||
{ id: "ice-hockey", name: "Ice Hockey", icon: "🏒", count: 18 },
|
||
{ id: "volleyball", name: "Volleyball", icon: "🏐", count: 14 },
|
||
{ id: "handball", name: "Handball", icon: "🤾", count: 12 },
|
||
{ id: "baseball", name: "Baseball", icon: "⚾", count: 8 },
|
||
{ id: "american-football", name: "American Football", icon: "🏈", count: 6 },
|
||
{ id: "cricket", name: "Cricket", icon: "🏏", count: 4 },
|
||
{ id: "rugby", name: "Rugby", icon: "🏉", count: 3 },
|
||
{ id: "boxing", name: "Boxing", icon: "🥊", count: 2 },
|
||
{ id: "esports", name: "E-Sports", icon: "🎮", count: 22 },
|
||
];
|
||
|
||
export const mockEvents: Event[] = [
|
||
{
|
||
id: "01682",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "LaLiga",
|
||
country: "Spain",
|
||
homeTeam: "Athletic Bilbao",
|
||
awayTeam: "Elche CF",
|
||
time: "11:00",
|
||
date: "Feb 20, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 1.64 },
|
||
{ id: "x", label: "x", odds: 3.91 },
|
||
{ id: "2", label: "2", odds: 5.45 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.93 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 1.88 },
|
||
{ id: "1x", label: "1X", odds: 1.15 },
|
||
{ id: "12", label: "12", odds: 1.24 },
|
||
{ id: "x2", label: "X2", odds: 2.13 },
|
||
{ id: "yes", label: "Yes", odds: 1.96 },
|
||
{ id: "no", label: "No", odds: 1.86 },
|
||
],
|
||
totalMarkets: 112,
|
||
},
|
||
{
|
||
id: "01570",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "LaLiga",
|
||
country: "Spain",
|
||
homeTeam: "Real Sociedad",
|
||
awayTeam: "Real Oviedo",
|
||
time: "04:00",
|
||
date: "Feb 21, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 1.52 },
|
||
{ id: "x", label: "x", odds: 4.41 },
|
||
{ id: "2", label: "2", odds: 6.91 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.98 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 1.87 },
|
||
{ id: "1x", label: "1X", odds: 1.11 },
|
||
{ id: "12", label: "12", odds: 1.21 },
|
||
{ id: "x2", label: "X2", odds: 2.43 },
|
||
{ id: "yes", label: "Yes", odds: 2.15 },
|
||
{ id: "no", label: "No", odds: 1.72 },
|
||
],
|
||
totalMarkets: 98,
|
||
},
|
||
{
|
||
id: "01541",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "LaLiga",
|
||
country: "Spain",
|
||
homeTeam: "Betis",
|
||
awayTeam: "Rayo Vallecano",
|
||
time: "06:15",
|
||
date: "Feb 21, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 1.92 },
|
||
{ id: "x", label: "x", odds: 3.55 },
|
||
{ id: "2", label: "2", odds: 4.10 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.92 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 1.88 },
|
||
{ id: "1x", label: "1X", odds: 1.23 },
|
||
{ id: "12", label: "12", odds: 1.28 },
|
||
{ id: "x2", label: "X2", odds: 1.80 },
|
||
{ id: "yes", label: "Yes", odds: 1.81 },
|
||
{ id: "no", label: "No", odds: 2.00 },
|
||
],
|
||
totalMarkets: 104,
|
||
},
|
||
{
|
||
id: "01605",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "LaLiga",
|
||
country: "Spain",
|
||
homeTeam: "Osasuna",
|
||
awayTeam: "Real Madrid",
|
||
time: "08:30",
|
||
date: "Feb 21, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 4.73 },
|
||
{ id: "x", label: "x", odds: 4.05 },
|
||
{ id: "2", label: "2", odds: 1.69 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.67 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 2.20 },
|
||
{ id: "1x", label: "1X", odds: 2.03 },
|
||
{ id: "12", label: "12", odds: 1.23 },
|
||
{ id: "x2", label: "X2", odds: 1.18 },
|
||
{ id: "yes", label: "Yes", odds: 1.70 },
|
||
{ id: "no", label: "No", odds: 2.15 },
|
||
],
|
||
totalMarkets: 128,
|
||
},
|
||
{
|
||
id: "01604",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "LaLiga",
|
||
country: "Spain",
|
||
homeTeam: "Atletico Madrid",
|
||
awayTeam: "Espanyol",
|
||
time: "11:00",
|
||
date: "Feb 21, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 1.51 },
|
||
{ id: "x", label: "x", odds: 4.57 },
|
||
{ id: "2", label: "2", odds: 6.81 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.88 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 1.96 },
|
||
{ id: "1x", label: "1X", odds: 1.11 },
|
||
{ id: "12", label: "12", odds: 1.20 },
|
||
{ id: "x2", label: "X2", odds: 2.43 },
|
||
{ id: "yes", label: "Yes", odds: 2.05 },
|
||
{ id: "no", label: "No", odds: 1.78 },
|
||
],
|
||
totalMarkets: 156,
|
||
},
|
||
{
|
||
id: "01672",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "Ligue 1",
|
||
country: "France",
|
||
homeTeam: "Brest",
|
||
awayTeam: "Marseille",
|
||
time: "10:45",
|
||
date: "Feb 20, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 3.91 },
|
||
{ id: "x", label: "x", odds: 3.80 },
|
||
{ id: "2", label: "2", odds: 1.97 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.75 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 2.15 },
|
||
{ id: "1x", label: "1X", odds: 1.80 },
|
||
{ id: "12", label: "12", odds: 1.27 },
|
||
{ id: "x2", label: "X2", odds: 1.26 },
|
||
{ id: "yes", label: "Yes", odds: 1.67 },
|
||
{ id: "no", label: "No", odds: 2.20 },
|
||
],
|
||
totalMarkets: 142,
|
||
},
|
||
{
|
||
id: "00241",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "LaLiga 2",
|
||
country: "Spain",
|
||
homeTeam: "AD Ceuta",
|
||
awayTeam: "Granada",
|
||
time: "10:30",
|
||
date: "Feb 20, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 2.55 },
|
||
{ id: "x", label: "x", odds: 3.20 },
|
||
{ id: "2", label: "2", odds: 2.75 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 2.15 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 1.66 },
|
||
{ id: "1x", label: "1X", odds: 1.40 },
|
||
{ id: "12", label: "12", odds: 1.32 },
|
||
{ id: "x2", label: "X2", odds: 1.45 },
|
||
{ id: "yes", label: "Yes", odds: 1.85 },
|
||
{ id: "no", label: "No", odds: 1.85 },
|
||
],
|
||
totalMarkets: 110,
|
||
},
|
||
{
|
||
id: "01124",
|
||
sport: "Soccer",
|
||
sportIcon: "⚽",
|
||
league: "Bundesliga",
|
||
country: "Germany",
|
||
homeTeam: "Mainz",
|
||
awayTeam: "Hamburger SV",
|
||
time: "10:30",
|
||
date: "Feb 20, 26",
|
||
isLive: false,
|
||
markets: [
|
||
{ id: "1", label: "1", odds: 2.11 },
|
||
{ id: "x", label: "x", odds: 3.40 },
|
||
{ id: "2", label: "2", odds: 3.58 },
|
||
{ id: "o25", label: "Over (2.5)", odds: 1.85 },
|
||
{ id: "u25", label: "Under (2.5)", odds: 1.96 },
|
||
{ id: "1x", label: "1X", odds: 1.28 },
|
||
{ id: "12", label: "12", odds: 1.30 },
|
||
{ id: "x2", label: "X2", odds: 1.66 },
|
||
{ id: "yes", label: "Yes", odds: 1.71 },
|
||
{ id: "no", label: "No", odds: 2.15 },
|
||
],
|
||
totalMarkets: 125,
|
||
},
|
||
];
|
||
|
||
export const popularLeagues = [
|
||
{ id: "ucl", name: "UEFA Champions League", logo: "https://upload.wikimedia.org/wikipedia/en/thumb/b/bf/UEFA_Champions_League_logo_2.svg/300px-UEFA_Champions_League_logo_2.svg.png" },
|
||
{ id: "uel", name: "UEFA Europa League", logo: "https://upload.wikimedia.org/wikipedia/en/thumb/0/0c/UEFA_Europa_League_logo_%282021%29.svg/300px-UEFA_Europa_League_logo_%282021%29.svg.png" },
|
||
{ id: "epl", name: "Premier League", country: "England", icon: "🏴", logo: "https://upload.wikimedia.org/wikipedia/en/thumb/f/f2/Premier_League_Logo.svg/300px-Premier_League_Logo.svg.png" },
|
||
{ id: "laliga", name: "La Liga", country: "Spain", icon: "🇪<>", logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/LaLiga_logo_2023.svg/300px-LaLiga_logo_2023.svg.png" },
|
||
{ id: "laliga2", name: "LaLiga 2", country: "Spain", icon: "🇪🇸", logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/LaLiga_logo_2023.svg/300px-LaLiga_logo_2023.svg.png" },
|
||
{ id: "bundesliga", name: "Bundesliga", country: "Germany", icon: "🇩🇪", logo: "https://upload.wikimedia.org/wikipedia/en/thumb/d/df/Bundesliga_logo_%282017%29.svg/300px-Bundesliga_logo_%282017%29.svg.png" },
|
||
{ id: "seriea", name: "Serie A", country: "Italy", icon: "🇮🇹", logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Serie_A_logo_%282019%29.svg/300px-Serie_A_logo_%282019%29.svg.png" },
|
||
{ id: "ligue1", name: "Ligue 1", country: "France", icon: "🇫🇷", logo: "https://upload.wikimedia.org/wikipedia/en/thumb/d/d4/Ligue_1_Uber_Eats_logo.svg/300px-Ligue_1_Uber_Eats_logo.svg.png" },
|
||
{ id: "ligue2", name: "Ligue 2", country: "France", icon: "<22><>", logo: "https://upload.wikimedia.org/wikipedia/en/thumb/9/91/Ligue_2_logo_2020.svg/300px-Ligue_2_logo_2020.svg.png" },
|
||
{ id: "eredivisie", name: "Eredivisie", country: "Netherlands", icon: "<22><>", logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Eredivisie_logo_2017.svg/300px-Eredivisie_logo_2017.svg.png" },
|
||
]; |