<body>
<p id="clan">No clan data</p>
<script>
- fetch('/schtarr/inno.json')
- .then(res => res.json())
+ let request = this.location.pathname.split('/')
+ request.splice(2, 1) // strip page name
+ fetch(request.join('/') + '.json')
+ .then(res => {
+ if (res.status != 200) {
+ console.log('got %o', res)
+ throw `status ${res.status}`
+ }
+ return res.json()
+ })
.then(clan => {
+ let tiernum = (rank) => rank <= 8 ? 1 : rank <= 25 ? 2 : rank <= 50 ? 3 : 4;
document.getElementById('clan').outerHTML = `
- <h1>${clan.tag}</h1>
+ <h1>${clan.tag || clan.members[0].name}</h1>
<ul class=ladders>
${clan.ladders.map(ladder => `
- <li title="Division ${ladder.division}" class="rank ${ladder.league}">
+ <li class="rank ${ladder.league} tier${tiernum(ladder.rank)}"
+ title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})">
${ladder.league} <small>#${ladder.rank}</small>
</li>
`).join('')}
`).join('')}
</ul>
`
+
+ let i = 0
+ document.querySelectorAll('.ladders li').forEach(ladder => {
+ let laddermembers = clan.ladders[i++].members
+ let membercont = document.querySelector('.members')
+ ladder.onmouseover = e => {
+ membercont.classList.add('select')
+ laddermembers.forEach(member => {
+ membercont.children[member].classList.add('select')
+ })
+ }
+ ladder.onmouseout = e => {
+ membercont.classList.remove('select')
+ laddermembers.forEach(member => {
+ membercont.children[member].classList.remove('select')
+ })
+ }
+ })
})
- .catch(error => console.log(error))
+ .catch(msg => console.error('include failure:', msg))
</script>
</body>