return res.json()
})
.then(clan => {
+ let laddercmp = {}
+ clan.ladders = clan.ladders.filter(l => !(
+ laddercmp[l.members] = l.members in laddercmp ? l : null
+ ))
let tiernum = (rank) => rank <= 8 ? 1 : rank <= 25 ? 2 : rank <= 50 ? 3 : 4;
+ let matchtime = (d) => d.getDate() + '/' + (d.getMonth() + 1) +
+ ' ' + d.getHours() + ":" + ('0' + d.getMinutes()).slice(-2);
outcont.outerHTML = `
<h1>${clan.tag || clan.members[0].name}</h1>
<ul class=ladders>
' tier' + tiernum(ladder.rank),
ladder.season ? ' old' : null,
].join('')}"
- title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})">
+ data-members="${ladder.members}"
+ title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})${
+ (l => l ? `\nprevious season ${l.wins}:${l.losses} in ${l.league}` : '')
+ (laddercmp[ladder.members])
+ }">
${ladder.league} <small>#${ladder.rank}</small>
</li>
`).join('')}
</figure></a></li>
`).join('')}
</ul>
+ <ul class=matches>
+ ${(clan.matches || []).splice(0, 3).map(match => `
+ <li data-members="${match.players}" class=${match.decision.toLowerCase()}>
+ ${matchtime(new Date(match.date * 1000))} ${match.type}
+ </li>
+ `).join('')}
+ </ul>
`
- let i = 0
- document.querySelectorAll('.ladders li').forEach(ladder => {
- let laddermembers = clan.ladders[i++].members
+ document.querySelectorAll('[data-members]').forEach(li => {
+ let momberids = li.dataset.members.split(',')
let membercont = document.querySelector('.members')
- ladder.onmouseover = e => {
+ li.onmouseover = e => {
membercont.classList.add('select')
- laddermembers.forEach(member => {
+ momberids.forEach(member => {
membercont.children[member].classList.add('select')
})
}
- ladder.onmouseout = e => {
+ li.onmouseout = e => {
membercont.classList.remove('select')
- laddermembers.forEach(member => {
+ momberids.forEach(member => {
membercont.children[member].classList.remove('select')
})
}