"use client"; import React from 'react'; import { CharacterInfoCardType } from '@/types'; import useLocaleStore from '@/stores/localeStore'; import Image from 'next/image'; import ParseText from '../parseText'; import useDetailDataStore from '@/stores/detailDataStore'; import { getLocaleName } from '@/helper/getName'; export default function CharacterInfoCard({ character, selectedCharacters, onCharacterToggle }: { character: CharacterInfoCardType, selectedCharacters: CharacterInfoCardType[], onCharacterToggle: (characterId: CharacterInfoCardType) => void }) { const isSelected = selectedCharacters.some((selectedCharacter) => selectedCharacter.avatar_id === character.avatar_id); const { mapAvatar, mapLightCone, baseType, damageType } = useDetailDataStore(); const { locale } = useLocaleStore(); return (
onCharacterToggle(character)} > {/* Character Portrait */}
{getLocaleName(locale, {mapAvatar[character.avatar_id.toString()]?.DamageType.toLowerCase()} {mapAvatar[character.avatar_id.toString()]?.BaseType.toLowerCase()}
{/* Character Name and Level */}
Lv.{character.level} E{character.rank}
{character.relics.length > 0 && (
{character.relics.map((relic, index) => (
Relic
+{relic.level}
))}
)} {/* Light Cone */} {character.lightcone.item_id && (
{getLocaleName(locale,
Lv.{character.lightcone.level} S{character.lightcone.rank}
)}
); };