diff --git a/src/components/card/characterInfoCard.tsx b/src/components/card/characterInfoCard.tsx index ea02092..24f0d5b 100644 --- a/src/components/card/characterInfoCard.tsx +++ b/src/components/card/characterInfoCard.tsx @@ -40,7 +40,7 @@ export default function CharacterInfoCard({ character, selectedCharacters, onCha height={48} unoptimized crossOrigin="anonymous" - src={`${process.env.CDN_URL}/${damageType?.[mapAvatar?.[character.avatar_id.toString()]?.DamageType || ""].Icon}`} + src={`${process.env.CDN_URL}/${damageType?.[mapAvatar?.[character.avatar_id.toString()]?.DamageType || ""]?.Icon}`} className="absolute top-0 left-0 w-10 h-10 rounded-full" alt={mapAvatar[character.avatar_id.toString()]?.DamageType.toLowerCase()} /> @@ -49,7 +49,7 @@ export default function CharacterInfoCard({ character, selectedCharacters, onCha height={48} unoptimized crossOrigin="anonymous" - src={`${process.env.CDN_URL}/${baseType?.[mapAvatar?.[character.avatar_id.toString()]?.BaseType || ""].Icon}`} + src={`${process.env.CDN_URL}/${baseType?.[mapAvatar?.[character.avatar_id.toString()]?.BaseType || ""]?.Icon}`} className="absolute top-0 right-0 w-10 h-10 rounded-full" alt={mapAvatar[character.avatar_id.toString()]?.BaseType.toLowerCase()} style={{ diff --git a/src/components/importBar/freesr.tsx b/src/components/importBar/freesr.tsx index 00c5b17..bfc028d 100644 --- a/src/components/importBar/freesr.tsx +++ b/src/components/importBar/freesr.tsx @@ -10,9 +10,11 @@ import { freeSrJsonSchema } from "@/zod"; import { toast } from "react-toastify"; import { converterOneFreeSRDataToAvatarStore } from "@/helper"; import { useTranslations } from "next-intl"; +import useDetailDataStore from "@/stores/detailDataStore"; export default function FreeSRImport() { const { avatars, setAvatar } = useUserDataStore(); + const { mapAvatar } = useDetailDataStore(); const { setIsOpenImport } = useModelStore() const [isLoading, setIsLoading] = useState(false) const [Error, setError] = useState("") @@ -33,7 +35,7 @@ export default function FreeSRImport() { const selectAll = () => { if (freeSRData) { - setSelectedCharacters(Object.values(freeSRData?.avatars).map((character) => { + setSelectedCharacters(Object.values(freeSRData?.avatars).filter(it => mapAvatar?.[it.avatar_id]).map((character) => { const lightcone = freeSRData.lightcones.find((lightcone) => lightcone.equip_avatar === character.avatar_id) const relics = freeSRData.relics.filter((relic) => relic.equip_avatar === character.avatar_id) return { @@ -84,7 +86,7 @@ export default function FreeSRImport() { setFreeSRData(parsed) setError("") - setSelectedCharacters(Object.values(parsed?.avatars || {}).map((character) => { + setSelectedCharacters(Object.values(parsed?.avatars || {}).filter(it => mapAvatar?.[it.avatar_id]).map((character) => { const lightcone = parsed?.lightcones.find((lightcone) => lightcone.equip_avatar === character.avatar_id) const relics = parsed?.relics.filter((relic) => relic.equip_avatar === character.avatar_id) return { @@ -200,7 +202,7 @@ export default function FreeSRImport() { )} {/* Character Grid */}