This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -40,7 +40,7 @@ export default function CharacterInfoCard({ character, selectedCharacters, onCha
|
|||||||
height={48}
|
height={48}
|
||||||
unoptimized
|
unoptimized
|
||||||
crossOrigin="anonymous"
|
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"
|
className="absolute top-0 left-0 w-10 h-10 rounded-full"
|
||||||
alt={mapAvatar[character.avatar_id.toString()]?.DamageType.toLowerCase()}
|
alt={mapAvatar[character.avatar_id.toString()]?.DamageType.toLowerCase()}
|
||||||
/>
|
/>
|
||||||
@@ -49,7 +49,7 @@ export default function CharacterInfoCard({ character, selectedCharacters, onCha
|
|||||||
height={48}
|
height={48}
|
||||||
unoptimized
|
unoptimized
|
||||||
crossOrigin="anonymous"
|
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"
|
className="absolute top-0 right-0 w-10 h-10 rounded-full"
|
||||||
alt={mapAvatar[character.avatar_id.toString()]?.BaseType.toLowerCase()}
|
alt={mapAvatar[character.avatar_id.toString()]?.BaseType.toLowerCase()}
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ import { freeSrJsonSchema } from "@/zod";
|
|||||||
import { toast } from "react-toastify";
|
import { toast } from "react-toastify";
|
||||||
import { converterOneFreeSRDataToAvatarStore } from "@/helper";
|
import { converterOneFreeSRDataToAvatarStore } from "@/helper";
|
||||||
import { useTranslations } from "next-intl";
|
import { useTranslations } from "next-intl";
|
||||||
|
import useDetailDataStore from "@/stores/detailDataStore";
|
||||||
|
|
||||||
export default function FreeSRImport() {
|
export default function FreeSRImport() {
|
||||||
const { avatars, setAvatar } = useUserDataStore();
|
const { avatars, setAvatar } = useUserDataStore();
|
||||||
|
const { mapAvatar } = useDetailDataStore();
|
||||||
const { setIsOpenImport } = useModelStore()
|
const { setIsOpenImport } = useModelStore()
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
const [isLoading, setIsLoading] = useState(false)
|
||||||
const [Error, setError] = useState("")
|
const [Error, setError] = useState("")
|
||||||
@@ -33,7 +35,7 @@ export default function FreeSRImport() {
|
|||||||
|
|
||||||
const selectAll = () => {
|
const selectAll = () => {
|
||||||
if (freeSRData) {
|
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 lightcone = freeSRData.lightcones.find((lightcone) => lightcone.equip_avatar === character.avatar_id)
|
||||||
const relics = freeSRData.relics.filter((relic) => relic.equip_avatar === character.avatar_id)
|
const relics = freeSRData.relics.filter((relic) => relic.equip_avatar === character.avatar_id)
|
||||||
return {
|
return {
|
||||||
@@ -84,7 +86,7 @@ export default function FreeSRImport() {
|
|||||||
setFreeSRData(parsed)
|
setFreeSRData(parsed)
|
||||||
setError("")
|
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 lightcone = parsed?.lightcones.find((lightcone) => lightcone.equip_avatar === character.avatar_id)
|
||||||
const relics = parsed?.relics.filter((relic) => relic.equip_avatar === character.avatar_id)
|
const relics = parsed?.relics.filter((relic) => relic.equip_avatar === character.avatar_id)
|
||||||
return {
|
return {
|
||||||
@@ -200,7 +202,7 @@ export default function FreeSRImport() {
|
|||||||
)}
|
)}
|
||||||
{/* Character Grid */}
|
{/* Character Grid */}
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||||
{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 lightcone = freeSRData?.lightcones.find((lightcone) => lightcone.equip_avatar === character.avatar_id)
|
||||||
const relics = freeSRData?.relics.filter((relic) => relic.equip_avatar === character.avatar_id)
|
const relics = freeSRData?.relics.filter((relic) => relic.equip_avatar === character.avatar_id)
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export const listCurrentLanguageApi : Record<string, string> = {
|
|||||||
ja: "jp",
|
ja: "jp",
|
||||||
ko: "kr",
|
ko: "kr",
|
||||||
en: "en",
|
en: "en",
|
||||||
vi: "en",
|
vi: "vi",
|
||||||
zh: "cn"
|
zh: "cn"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { listCurrentLanguage } from "@/constant/constant";
|
import { listCurrentLanguageApi } from "@/constant/constant";
|
||||||
import { AvatarDetail } from "@/types";
|
import { AvatarDetail } from "@/types";
|
||||||
import { useTranslations } from "next-intl"
|
import { useTranslations } from "next-intl"
|
||||||
|
|
||||||
@@ -15,11 +15,11 @@ export function getNameChar(
|
|||||||
): string {
|
): string {
|
||||||
if (!data) return "";
|
if (!data) return "";
|
||||||
|
|
||||||
if (!Object.prototype.hasOwnProperty.call(listCurrentLanguage, locale)) {
|
if (!Object.prototype.hasOwnProperty.call(listCurrentLanguageApi, locale)) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const langKey = listCurrentLanguage[locale as keyof typeof listCurrentLanguage].toLowerCase();
|
const langKey = listCurrentLanguageApi[locale as keyof typeof listCurrentLanguageApi].toLowerCase();
|
||||||
|
|
||||||
let text = data.Name[langKey] ?? "";
|
let text = data.Name[langKey] ?? "";
|
||||||
|
|
||||||
@@ -38,13 +38,16 @@ export function getLocaleName(locale: string, data: Record<string, string> | und
|
|||||||
if (!data) {
|
if (!data) {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
if (!Object.prototype.hasOwnProperty.call(listCurrentLanguage, locale)) {
|
|
||||||
|
if (!Object.prototype.hasOwnProperty.call(listCurrentLanguageApi, locale)) {
|
||||||
return ""
|
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] ?? "";
|
let text = data[langKey] ?? "";
|
||||||
|
|
||||||
if (!text) {
|
if (!text) {
|
||||||
|
|||||||
Reference in New Issue
Block a user