Multiple changes
- backend: add summoner spells - backend: add build variants - backend: builds are now storing full tree with runes (keystones) - backend: build trees are split on starter items and merged on runes - frontend: computing core tree now - frontend: variant selectors
This commit is contained in:
@@ -9,23 +9,22 @@ interface RuneBuild {
|
||||
pickrate: number
|
||||
}
|
||||
|
||||
interface PerkStyle {
|
||||
id: number
|
||||
iconPath: string
|
||||
}
|
||||
|
||||
const props = defineProps<{
|
||||
runes: Array<RuneBuild>
|
||||
primaryStyles: Array<PerkStyle>
|
||||
secondaryStyles: Array<PerkStyle>
|
||||
keystoneIds: Array<number>
|
||||
perks: Map<number, Perk>
|
||||
selectedIndex: number
|
||||
perkStyles: Map<number, PerkStyle>
|
||||
}>()
|
||||
|
||||
const selectedIndex = ref(0)
|
||||
|
||||
const emit = defineEmits<{
|
||||
select: [index: number]
|
||||
}>()
|
||||
|
||||
function select(index: number) {
|
||||
emit('select', index)
|
||||
selectedIndex.value = index
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -33,24 +32,24 @@ const emit = defineEmits<{
|
||||
<div
|
||||
v-for="(rune, index) in props.runes"
|
||||
:key="index"
|
||||
:class="['compact-rune-option', { active: index === props.selectedIndex }]"
|
||||
@click="emit('select', index)"
|
||||
:class="['compact-rune-option', { active: index === selectedIndex }]"
|
||||
@click="select(index)"
|
||||
>
|
||||
<div class="compact-rune-content">
|
||||
<NuxtImg
|
||||
v-if="primaryStyles[index]"
|
||||
v-if="runes[index].primaryStyle"
|
||||
class="compact-rune-img"
|
||||
:src="CDRAGON_BASE + mapPath(primaryStyles[index].iconPath)"
|
||||
:src="CDRAGON_BASE + mapPath(perkStyles.get(runes[index].primaryStyle)?.iconPath!)"
|
||||
/>
|
||||
<NuxtImg
|
||||
v-if="keystoneIds[index] && props.perks.get(keystoneIds[index])"
|
||||
v-if="perks.get(runes[index].selections[0])"
|
||||
class="compact-rune-img"
|
||||
:src="CDRAGON_BASE + mapPath(props.perks.get(keystoneIds[index])!.iconPath)"
|
||||
:src="CDRAGON_BASE + mapPath(perks.get(runes[index].selections[0])!.iconPath)"
|
||||
/>
|
||||
<NuxtImg
|
||||
v-if="secondaryStyles[index]"
|
||||
v-if="runes[index].secondaryStyle"
|
||||
class="compact-rune-img"
|
||||
:src="CDRAGON_BASE + mapPath(secondaryStyles[index].iconPath)"
|
||||
:src="CDRAGON_BASE + mapPath(perkStyles.get(runes[index].secondaryStyle)?.iconPath!)"
|
||||
/>
|
||||
</div>
|
||||
<span class="compact-rune-pickrate">{{ (rune.pickrate * 100).toFixed(1) }}%</span>
|
||||
|
||||
Reference in New Issue
Block a user