Show battlesuit feature icon

This commit is contained in:
Sakura Knoll
2021-12-31 18:33:59 +09:00 Unverified
parent 30bac56aa3
commit 1501ed14b3
2 changed files with 38 additions and 9 deletions
@@ -0,0 +1,32 @@
import { Flex, Text } from '@theme-ui/components'
import { battlesuitStrengths } from '../../lib/safeData'
import SquareImageBox from './SquareImageBox'
interface BattlesuitFeatureLabelProps {
feature: string
}
const BattlesuitFeatureLabel = ({ feature }: BattlesuitFeatureLabelProps) => {
const featureData = battlesuitStrengths.find(
(strength) => strength.value === feature
)
if (featureData == null) {
return <Text>{feature}</Text>
}
const { label, icon } = featureData
return (
<Flex sx={{ alignItems: 'center' }}>
{featureData != null && (
<SquareImageBox
size={30}
src={`/assets/honkai3rd/${icon}.png`}
alt={label}
mr={1}
/>
)}
<Text>{label}</Text>
</Flex>
)
}
export default BattlesuitFeatureLabel
@@ -2,6 +2,7 @@ import { Box, Flex, Heading, Paragraph, Text } from '@theme-ui/components'
import { NextPageContext } from 'next'
import Image from 'next/image'
import React from 'react'
import BattlesuitFeatureLabel from '../../../components/atoms/BattlesuitFeatureLabel'
import BattlesuitRankIcon from '../../../components/atoms/BattlesuitRankIcon'
import TypeLabel from '../../../components/atoms/TypeLabel'
import ValkyrieLabel from '../../../components/atoms/ValkyrieLabel'
@@ -13,7 +14,6 @@ import {
getBattlesuitById,
listBattlesuits,
} from '../../../data/honkai3rd/battlesuits'
import { battlesuitStrengths } from '../../../lib/safeData'
interface BattlesuitShowPageProps {
battlesuit: BattlesuitData
@@ -72,18 +72,15 @@ const BattlesuitShowPage = ({ battlesuit }: BattlesuitShowPageProps) => {
<Box p={2} sx={{ borderBottom: 'default' }}>
<TypeLabel type={battlesuit.type} />
</Box>
<Box p={2}>
<Flex p={2}>
{battlesuit.strengths.map((strength) => {
const strengthData = battlesuitStrengths.find(
(aStrength) => aStrength.value === strength
)
return (
<Text mx={1} key={strength}>
{strengthData != null ? strengthData.label : strength}
</Text>
<Box mr={2} key={strength}>
<BattlesuitFeatureLabel feature={strength} />
</Box>
)
})}
</Box>
</Flex>
</Box>
<BattlesuitSkillGroupCard