construct rank classes with rank for current season
[sc2-widget] / widget.html
index 26bdd168836cf38547ac14f277a68e7bf195658e..c070def7b3363db632c73eb244fa65e1f16a0984 100644 (file)
 <body>
 <p id="clan">No clan data</p>
 <script>
-       let request = this.location.pathname.split('/')
-       fetch('/schtarr/data/' + request.pop() + '.json')
+       let outcont = document.getElementById('clan')
+       let request = this.location.pathname.split('/').pop()
+       outcont.innerHTML = `Loading clan data for <q>${request}</q>`
+       fetch('/schtarr/data/' + request + '.json')
        .then(res => {
                if (res.status != 200) {
                        console.log('got %o', res)
-                       throw `status ${res.status}`
+                       throw `include ${res.status}`
                }
                return res.json()
        })
        .then(clan => {
                let tiernum = (rank) => rank <= 8 ? 1 : rank <= 25 ? 2 : rank <= 50 ? 3 : 4;
-               document.getElementById('clan').outerHTML = `
+               outcont.outerHTML = `
                        <h1>${clan.tag || clan.members[0].name}</h1>
                        <ul class=ladders>
                        ${clan.ladders.map(ladder => `
-                               <li class="rank ${ladder.league} tier${tiernum(ladder.rank)}"
+                               <li class="rank ${[
+                                       ladder.league,
+                                       ' tier' + tiernum(ladder.rank),
+                                       ladder.season ? ' old' : null,
+                               ].join('')}"
                                 title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})">
                                        ${ladder.league} <small>#${ladder.rank}</small>
                                </li>
                        }
                })
        })
-       .catch(msg => console.error('include failure:', msg))
+       .catch(msg => {
+               outcont.innerHTML = `Error loading clan data: ${msg}`
+               console.error('include failure:', msg)
+       })
 </script>
 </body>