diff --git a/messages/vi.json b/messages/vi.json index 9f4fba6..cf1c9b6 100644 --- a/messages/vi.json +++ b/messages/vi.json @@ -197,6 +197,7 @@ "selectPFEvent": "Chọn sự kiện PF", "selectASEvent": "Chọn sự kiện AS", "selectCEEvent": "Chọn sự kiện CE", + "selectPEAKEvent": "Chọn sự kiện PEAK", "selectEvent": "Chọn sự kiện", "selectFloor": "Chọn tầng", "selectSide": "Chọn nửa trận", @@ -237,10 +238,9 @@ "maxAllSuccess": "Đã thiết lập cấp độ kỹ năng tối đa thành công.", "maxAllFailed": "Thiết lập cấp độ kỹ năng tối đa thất bại.", "noRelicEquipped": "Không có di vật", - "anomalyArbitration": "Phán Quyết Dị Thường", + "anomalyArbitration": "Trọng tài dị tướng", "normalMode": "Chế độ thường", "hardMode": "Chế độ khó", - "selectPEAKEvent": "Chọn sự kiện", "mode": "Chế độ", "selectMode": "Chọn chế độ", "rollBack": "Quay lại bước trước", diff --git a/public/icon/ChallengePeakIcon.webp b/public/icon/ChallengePeakIcon.webp new file mode 100644 index 0000000..da86ce0 Binary files /dev/null and b/public/icon/ChallengePeakIcon.webp differ diff --git a/src/components/monsterBar/as.tsx b/src/components/monsterBar/as.tsx index c1ed15f..1aa87b2 100644 --- a/src/components/monsterBar/as.tsx +++ b/src/components/monsterBar/as.tsx @@ -74,7 +74,7 @@ export default function AsBar() { newBattleConfig.monsters = [] newBattleConfig.stage_id = 0 - if ((as_config.floor_side === "Upper" || as_config.floor_side === "Upper -> Lower") + if ((as_config.floor_side === "Upper" || as_config.floor_side === "Upper -> Lower") && challengeSelected.EventIDList1.length > 0) { newBattleConfig.stage_id = challengeSelected.EventIDList1[0].StageID for (const wave of challengeSelected.EventIDList1[0].MonsterList) { @@ -89,7 +89,7 @@ export default function AsBar() { newBattleConfig.monsters.push(newWave) } } - if ((as_config.floor_side === "Lower" || as_config.floor_side === "Lower -> Upper") + if ((as_config.floor_side === "Lower" || as_config.floor_side === "Lower -> Upper") && challengeSelected.EventIDList2.length > 0) { newBattleConfig.stage_id = challengeSelected.EventIDList2[0].StageID for (const wave of challengeSelected.EventIDList2[0].MonsterList) { @@ -104,7 +104,7 @@ export default function AsBar() { newBattleConfig.monsters.push(newWave) } } - if (as_config.floor_side === "Lower -> Upper" + if (as_config.floor_side === "Lower -> Upper" && challengeSelected.EventIDList1.length > 0) { for (const wave of challengeSelected.EventIDList1[0].MonsterList) { const newWave: MonsterStore[] = [] @@ -117,7 +117,7 @@ export default function AsBar() { } newBattleConfig.monsters.push(newWave) } - } else if (as_config.floor_side === "Upper -> Lower" + } else if (as_config.floor_side === "Upper -> Lower" && challengeSelected.EventIDList2.length > 0) { for (const wave of challengeSelected.EventIDList2[0].MonsterList) { const newWave: MonsterStore[] = [] @@ -146,7 +146,7 @@ export default function AsBar() { if (!ASEvent) return null return ( -
+
{/* Title Card */}
@@ -160,11 +160,11 @@ export default function AsBar() { excludeSet={[]} selectedCustomSet={as_config.event_id.toString()} placeholder={transI18n("selectASEvent")} - setSelectedCustomSet={(id) => setAsConfig({ - ...as_config, - event_id: Number(id), + setSelectedCustomSet={(id) => setAsConfig({ + ...as_config, + event_id: Number(id), challenge_id: mapASInfo[Number(id)]?.Level.slice(-1)[0]?.Id || 0, - buff_id: 0 + buff_id: 0 })} />
@@ -243,106 +243,109 @@ export default function AsBar() {
{/* Enemy Waves */} -
- {/* First Half */} -
-

{transI18n("firstHalfEnemies")}

+ {(as_config?.challenge_id ?? 0) !== 0 && ( +
+ {/* First Half */} +
+

{transI18n("firstHalfEnemies")}

- {challengeSelected && challengeSelected?.EventIDList1?.length > 0 && challengeSelected?.EventIDList1[0].MonsterList.map((wave, waveIndex) => ( -
-

{transI18n("wave")} {waveIndex + 1}

-
- {Object.values(wave).map((waveValue, enemyIndex) => ( -
-
-
- {listMonster.find((monster) => monster.child.includes(waveValue))?.icon && monster.child.includes(waveValue))?.icon?.split("/")?.pop()?.replace(".png", "")}.webp`} - alt="Enemy Icon" - width={376} - height={512} - className="w-full h-full object-cover" - />} -
+ {challengeSelected && challengeSelected?.EventIDList1?.length > 0 && challengeSelected?.EventIDList1[0].MonsterList.map((wave, waveIndex) => ( +
+

{transI18n("wave")} {waveIndex + 1}

+
+ {Object.values(wave).map((waveValue, enemyIndex) => ( +
+
+
+ {listMonster.find((monster) => monster.child.includes(waveValue))?.icon && monster.child.includes(waveValue))?.icon?.split("/")?.pop()?.replace(".png", "")}.webp`} + alt="Enemy Icon" + width={376} + height={512} + className="w-full h-full object-cover" + />} +
-
-
Lv. {challengeSelected?.EventIDList1[0].Level}
-
- {listMonster - .find((monster) => monster.child.includes(waveValue)) - ?.weak?.map((icon, iconIndex) => ( - {icon} - ))} +
+
Lv. {challengeSelected?.EventIDList1[0].Level}
+
+ {listMonster + .find((monster) => monster.child.includes(waveValue)) + ?.weak?.map((icon, iconIndex) => ( + {icon} + ))} +
-
- ))} + ))} +
-
- ))} -
+ ))} +
- {/* Second Half */} -
-

{transI18n("secondHalfEnemies")}

+ {/* Second Half */} +
+

{transI18n("secondHalfEnemies")}

- {challengeSelected && challengeSelected?.EventIDList2?.length > 0 && challengeSelected?.EventIDList2[0].MonsterList.map((wave, waveIndex) => ( -
-

{transI18n("wave")} {waveIndex + 1}

-
- {Object.values(wave).map((waveValue, enemyIndex) => ( -
+ {challengeSelected && challengeSelected?.EventIDList2?.length > 0 && challengeSelected?.EventIDList2[0].MonsterList.map((wave, waveIndex) => ( +
+

{transI18n("wave")} {waveIndex + 1}

+
+ {Object.values(wave).map((waveValue, enemyIndex) => ( +
-
-
- {listMonster.find((monster) => monster.child.includes(waveValue))?.icon && monster.child.includes(waveValue))?.icon?.split("/")?.pop()?.replace(".png", "")}.webp`} - alt="Enemy Icon" - width={376} - height={512} - className="w-full h-full object-cover" - />} -
+
+
+ {listMonster.find((monster) => monster.child.includes(waveValue))?.icon && monster.child.includes(waveValue))?.icon?.split("/")?.pop()?.replace(".png", "")}.webp`} + alt="Enemy Icon" + width={376} + height={512} + className="w-full h-full object-cover" + />} +
-
-
Lv. {challengeSelected?.EventIDList1[0].Level}
-
- {listMonster - .find((monster) => monster.child.includes(waveValue)) - ?.weak?.map((icon, iconIndex) => ( - {icon} - ))} +
+
Lv. {challengeSelected?.EventIDList1[0].Level}
+
+ {listMonster + .find((monster) => monster.child.includes(waveValue)) + ?.weak?.map((icon, iconIndex) => ( + {icon} + ))} +
-
- ))} + ))} +
-
- ))} + ))} +
-
+ )} +
) } \ No newline at end of file diff --git a/src/components/monsterBar/ce.tsx b/src/components/monsterBar/ce.tsx index b1c981e..28243bd 100644 --- a/src/components/monsterBar/ce.tsx +++ b/src/components/monsterBar/ce.tsx @@ -111,7 +111,7 @@ export default function CeBar() { }, [stageSearchTerm]) return ( -
{ +
{ setShowSearchWaveId(null) setShowSearchStage(false) @@ -217,7 +217,7 @@ export default function CeBar() { {ce_config.monsters.map((wave, waveIndex) => (
-
+

{transI18n("wave")} {waveIndex + 1}

+ ))}
@@ -81,7 +89,7 @@ export default function MonsterBar() { {battle_type.toUpperCase() === 'PEAK' && } {battle_type.toUpperCase() === 'SU' && (
- {transI18n("comingSoon")} + {transI18n("comingSoon")}
)} diff --git a/src/components/monsterBar/moc.tsx b/src/components/monsterBar/moc.tsx index 4728815..2ddc6d6 100644 --- a/src/components/monsterBar/moc.tsx +++ b/src/components/monsterBar/moc.tsx @@ -113,7 +113,7 @@ export default function MocBar() { ]) if (!MOCEvent) return null return ( -
+
{/* Title Card */}
@@ -127,10 +127,10 @@ export default function MocBar() { excludeSet={[]} selectedCustomSet={moc_config.event_id.toString()} placeholder={transI18n("selectMOCEvent")} - setSelectedCustomSet={(id) => setMocConfig({ - ...moc_config, - event_id: Number(id), - challenge_id: mapMOCInfo[Number(id)]?.slice(-1)[0]?.Id || 0, + setSelectedCustomSet={(id) => setMocConfig({ + ...moc_config, + event_id: Number(id), + challenge_id: mapMOCInfo[Number(id)]?.slice(-1)[0]?.Id || 0, })} />
@@ -144,9 +144,9 @@ export default function MocBar() {