|
1 | 1 | const firebase = require('firebase/app'); |
2 | 2 | const CountryCodes = require('./../editor/countryCodes'); |
3 | | -const {devMode} = require('./../helpers'); |
| 3 | +const {devMode, randomIntFromInterval, generateName, chancePercentage} = require('./../helpers'); |
4 | 4 |
|
5 | 5 | const getLeaderboard = () => { |
6 | 6 | return firebase.database().ref('/users/').once('value').then(snapshot => { |
7 | 7 | let leaderboardList; |
8 | 8 |
|
9 | 9 | if (devMode() && false) { |
10 | | - leaderboardList = new Array(100).fill({}).map((x, i) => ({ |
11 | | - id: 'id'+i, |
12 | | - normalizedRating: i * 100 + 500, |
13 | | - userName: `Player ${i}`, |
14 | | - ratingDifference: -200, |
15 | | - flag: './assets/flagsSvg/countries/se.svg', |
16 | | - countryName: 'Sweden' |
17 | | - })).reverse(); |
| 10 | + const countryNames = Object.values(CountryCodes).map(x => x.name); |
| 11 | + leaderboardList = new Array(200).fill({}).map((x, i) => { |
| 12 | + const countryName = countryNames[randomIntFromInterval(0, countryNames.length - 1)] |
| 13 | + const flag = './assets/flagsSvg/countries/' + Object.keys(CountryCodes).find(x => CountryCodes[x].name === countryName).toLowerCase() + '.svg'; |
| 14 | + |
| 15 | + const totalWins = randomIntFromInterval(10, 100) |
| 16 | + let totalDefeats = totalWins - randomIntFromInterval(10, 60); |
| 17 | + if (totalDefeats < 0) { |
| 18 | + totalDefeats = 0; |
| 19 | + } |
| 20 | + return { |
| 21 | + id: 'id'+i, |
| 22 | + normalizedRating: i * 100 + 500 + randomIntFromInterval(-50, 50), |
| 23 | + userName: generateName().replace(' ', '_'), |
| 24 | + ratingDifference: randomIntFromInterval(-25, 25), |
| 25 | + totalWins, |
| 26 | + totalDefeats, |
| 27 | + totalDisconnects: chancePercentage(70) ? 0 : randomIntFromInterval(0, 10), |
| 28 | + flag, |
| 29 | + countryName |
| 30 | + } |
| 31 | + }).reverse(); |
| 32 | + |
| 33 | + leaderboardList[0].userName = 'MartinGomez89'; |
| 34 | + leaderboardList[11].userName = 'pepe420'; |
| 35 | + leaderboardList[4].userName = 'Kim_Jong-CHILL'; |
| 36 | + leaderboardList[20].userName = 'DoktorAlban123'; |
| 37 | + |
| 38 | + leaderboardList[12].userName = 'pelle1234'; |
| 39 | + leaderboardList[12].flag = './assets/flagsSvg/countries/se.svg'; |
| 40 | + leaderboardList[12].id = 'zaprcqKg9ycG6P6jKF8VD3MhNj63'; |
18 | 41 | } else { |
19 | 42 | const usersFromDatabase = snapshot.val(); |
20 | 43 | let users = Object.entries(usersFromDatabase).map(x => (Object.assign({id: x[0]}, x[1]))); |
|
0 commit comments