mirror of
https://github.com/vkaelin/LeagueStats.git
synced 2026-03-25 21:07:27 +00:00
feat: add hover infos for role stats
This commit is contained in:
parent
c394857aae
commit
1774306504
2 changed files with 46 additions and 12 deletions
|
|
@ -38,16 +38,40 @@
|
||||||
:key="index"
|
:key="index"
|
||||||
class="flex flex-col items-center w-1/5"
|
class="flex flex-col items-center w-1/5"
|
||||||
>
|
>
|
||||||
<div class="flex flex-col justify-end w-2 h-12 bg-blue-900 rounded-full">
|
<Dropdown>
|
||||||
<div
|
<template v-slot:trigger>
|
||||||
:style="{height: (role.count * 3 / mostPlayedRole) * role.wins / role.count + 'rem'}"
|
<div
|
||||||
class="bg-green-400 rounded-t-full"
|
class="flex flex-col justify-end w-2 h-12 bg-blue-900 rounded-full cursor-pointer"
|
||||||
></div>
|
>
|
||||||
<div
|
<div
|
||||||
:style="{height: (role.count * 3 / mostPlayedRole) * role.losses / role.count + 'rem'}"
|
:style="{height: (role.count * 3 / mostPlayedRole) * role.wins / role.count + 'rem'}"
|
||||||
class="bg-red-400 rounded-b-full"
|
class="bg-green-400 rounded-t-full"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
<div
|
||||||
|
:style="{height: (role.count * 3 / mostPlayedRole) * role.losses / role.count + 'rem'}"
|
||||||
|
class="bg-red-400 rounded-b-full"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-slot:default>
|
||||||
|
<div class="px-2 text-white text-center text-sm select-none">
|
||||||
|
<div>{{ role.role|capitalize }}</div>
|
||||||
|
<span
|
||||||
|
:class="winLossColor(role.wins, role.losses).win"
|
||||||
|
class="font-bold"
|
||||||
|
>{{ role.wins }}</span>
|
||||||
|
<span class="mx-1 text-gray-400 font-bold">-</span>
|
||||||
|
<span
|
||||||
|
:class="winLossColor(role.wins, role.losses).loss"
|
||||||
|
class="font-bold"
|
||||||
|
>{{ role.losses }}</span>
|
||||||
|
<div
|
||||||
|
:class="calculateWinrate(role.wins, role.count).color"
|
||||||
|
class="mt-1 font-bold"
|
||||||
|
>{{ calculateWinrate(role.wins, role.count).winrate|round }}%</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</Dropdown>
|
||||||
<div
|
<div
|
||||||
:style="{backgroundImage: `url(${require('@/assets/img/roles/' + role.role + '.png')})`}"
|
:style="{backgroundImage: `url(${require('@/assets/img/roles/' + role.role + '.png')})`}"
|
||||||
class="mt-1 w-4 h-4 bg-center bg-cover"
|
class="mt-1 w-4 h-4 bg-center bg-cover"
|
||||||
|
|
@ -104,9 +128,15 @@
|
||||||
class="w-1/4"
|
class="w-1/4"
|
||||||
>{{ calculateWinrate(league.wins, league.count).winrate|percent }}</div>
|
>{{ calculateWinrate(league.wins, league.count).winrate|percent }}</div>
|
||||||
<div class="w-1/4">
|
<div class="w-1/4">
|
||||||
<span class="text-green-400 font-bold">{{ league.wins }}</span>
|
<span
|
||||||
|
:class="winLossColor(league.wins, league.losses).win"
|
||||||
|
class="font-bold"
|
||||||
|
>{{ league.wins }}</span>
|
||||||
<span class="mx-1 text-gray-400 font-bold">-</span>
|
<span class="mx-1 text-gray-400 font-bold">-</span>
|
||||||
<span class="text-gray-200 font-bold">{{ league.losses }}</span>
|
<span
|
||||||
|
:class="winLossColor(league.wins, league.losses).loss"
|
||||||
|
class="font-bold"
|
||||||
|
>{{ league.losses }}</span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@ import store from './store'
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
Vue.use(VueAxios)
|
Vue.use(VueAxios)
|
||||||
|
|
||||||
|
Vue.filter('capitalize', (value) => {
|
||||||
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase()
|
||||||
|
})
|
||||||
|
|
||||||
Vue.filter('secToTime', (sec) => {
|
Vue.filter('secToTime', (sec) => {
|
||||||
const min = Math.floor(sec / 60)
|
const min = Math.floor(sec / 60)
|
||||||
const newSec = sec - min * 60
|
const newSec = sec - min * 60
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue