Add display for Telumas and fix WeaponModal display

This commit is contained in:
Justin Edmund 2022-12-24 01:07:55 -08:00
parent 802705a812
commit af5bd49c2f
3 changed files with 48 additions and 14 deletions

View file

@ -48,17 +48,17 @@ const WeaponKeySelect = React.forwardRef<HTMLButtonElement, Props>(
) )
let groupedKeys = [] let groupedKeys = []
for (let i = 0; i <= numGroups; i++) { for (let i = 0; i <= numGroups; i++) {
groupedKeys[i] = weaponKeys.filter((key) => key.group == i) const values = weaponKeys.filter((key) => key.group == i)
if (values.length > 0) groupedKeys[i] = values
} }
setKeys(groupedKeys) setKeys(groupedKeys.filter(() => true))
} }
function fetchWeaponKeys() { function fetchWeaponKeys() {
api.endpoints.weapon_keys.getAll(filterParams).then((response) => { api.endpoints.weapon_keys
const keys = response.data .getAll(filterParams)
organizeWeaponKeys(keys) .then((response) => organizeWeaponKeys(response.data))
})
} }
fetchWeaponKeys() fetchWeaponKeys()
@ -90,7 +90,7 @@ const WeaponKeySelect = React.forwardRef<HTMLButtonElement, Props>(
if (props.series == 2 && index == 0) name = pendulumNames[0] if (props.series == 2 && index == 0) name = pendulumNames[0]
else if (props.series == 2 && props.slot == 1 && index == 1) else if (props.series == 2 && props.slot == 1 && index == 1)
name = pendulumNames[1] name = pendulumNames[1]
else if (props.series == 3) name = telumaNames[index] else if (props.series == 3) name = telumaNames[0]
else if (props.series == 17) name = gauphNames[props.slot] else if (props.series == 17) name = gauphNames[props.slot]
else if (props.series == 22) name = emblemNames[index] else if (props.series == 22) name = emblemNames[index]

View file

@ -48,11 +48,11 @@
left: -3.5%; left: -3.5%;
} }
.Modifiers > .AxSkills { .Modifiers > .Skills {
bottom: 12%; bottom: 12%;
right: -3.5%; right: -3.5%;
& > .AxSkill { & > .Skill {
width: 25%; width: 25%;
height: auto; height: auto;
} }
@ -80,11 +80,11 @@
left: -3.5%; left: -3.5%;
} }
.Modifiers > .AxSkills { .Modifiers > .Skills {
bottom: 12%; bottom: 12%;
left: -3.5%; left: -3.5%;
& > .AxSkill { & > .Skill {
width: 20%; width: 20%;
height: auto; height: auto;
} }
@ -158,7 +158,7 @@
position: absolute; position: absolute;
z-index: 3; z-index: 3;
.AxSkills { .Skills {
display: flex; display: flex;
gap: $unit-fourth; gap: $unit-fourth;
justify-content: flex-end; justify-content: flex-end;

View file

@ -11,6 +11,7 @@ import Button from '~components/Button'
import type { SearchableObject } from '~types' import type { SearchableObject } from '~types'
import { appState } from '~utils/appState'
import { axData } from '~utils/axData' import { axData } from '~utils/axData'
import { weaponAwakening } from '~utils/awakening' import { weaponAwakening } from '~utils/awakening'
@ -95,6 +96,37 @@ const WeaponUnit = (props: Props) => {
} }
} }
function telumaImage(index: number) {
const baseUrl = `${process.env.NEXT_PUBLIC_SIERO_IMG_URL}/weapon-keys/`
let filename = ''
let altText = ''
// If there is a grid weapon, it is a Draconic Weapon and it has keys
if (
props.gridWeapon &&
props.gridWeapon.object.series === 3 &&
props.gridWeapon.weapon_keys
) {
if (index === 0 && props.gridWeapon.weapon_keys[0]) {
altText = `${props.gridWeapon.weapon_keys[0].name[locale]}`
filename = `${props.gridWeapon.weapon_keys[0].slug}.png`
} else if (index === 1 && props.gridWeapon.weapon_keys[1]) {
altText = `${props.gridWeapon.weapon_keys[1].name[locale]}`
const element = props.gridWeapon.object.element
filename = `${props.gridWeapon.weapon_keys[1].slug}-${element}.png`
}
return (
<img
alt={`${altText}`}
className="Skill"
src={`${baseUrl}${filename}`}
/>
)
}
}
function axImage(index: number) { function axImage(index: number) {
const axSkill = getCanonicalAxSkill(index) const axSkill = getCanonicalAxSkill(index)
@ -108,7 +140,7 @@ const WeaponUnit = (props: Props) => {
return ( return (
<img <img
alt={`axskill`} alt={`axskill`}
className="AxSkill" className="Skill"
src={`${process.env.NEXT_PUBLIC_SIERO_IMG_URL}/ax/${axSkill.slug}.png`} src={`${process.env.NEXT_PUBLIC_SIERO_IMG_URL}/ax/${axSkill.slug}.png`}
/> />
) )
@ -157,9 +189,11 @@ const WeaponUnit = (props: Props) => {
<div className="WeaponImage"> <div className="WeaponImage">
<div className="Modifiers"> <div className="Modifiers">
{awakeningImage()} {awakeningImage()}
<div className="AxSkills"> <div className="Skills">
{axImage(0)} {axImage(0)}
{axImage(1)} {axImage(1)}
{telumaImage(0)}
{telumaImage(1)}
</div> </div>
</div> </div>
<img alt={weapon?.name.en} className="grid_image" src={imageUrl} /> <img alt={weapon?.name.en} className="grid_image" src={imageUrl} />