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 */}
- {Object.values(freeSRData?.avatars || {}).map((character) => { + {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 ( diff --git a/src/helper/getName.ts b/src/helper/getName.ts index 406b43b..a0fae8f 100644 --- a/src/helper/getName.ts +++ b/src/helper/getName.ts @@ -1,4 +1,4 @@ -import { listCurrentLanguage } from "@/constant/constant"; +import { listCurrentLanguageApi } from "@/constant/constant"; import { AvatarDetail } from "@/types"; import { useTranslations } from "next-intl" @@ -15,11 +15,11 @@ export function getNameChar( ): string { if (!data) return ""; - if (!Object.prototype.hasOwnProperty.call(listCurrentLanguage, locale)) { + if (!Object.prototype.hasOwnProperty.call(listCurrentLanguageApi, locale)) { return ""; } - const langKey = listCurrentLanguage[locale as keyof typeof listCurrentLanguage].toLowerCase(); + const langKey = listCurrentLanguageApi[locale as keyof typeof listCurrentLanguageApi].toLowerCase(); let text = data.Name[langKey] ?? ""; @@ -38,13 +38,16 @@ export function getLocaleName(locale: string, data: Record | und if (!data) { return "" } - if (!Object.prototype.hasOwnProperty.call(listCurrentLanguage, locale)) { + + if (!Object.prototype.hasOwnProperty.call(listCurrentLanguageApi, locale)) { return "" } - const langKey = listCurrentLanguage[locale as keyof typeof listCurrentLanguage].toLowerCase(); + + const langKey = listCurrentLanguageApi[locale as keyof typeof listCurrentLanguageApi].toLowerCase(); + console.log(langKey) let text = data[langKey] ?? ""; if (!text) {