fix(character): handle undefined characterModelTransmogs array

Add checks for Array.isArray(charData.characterModelTransmogs) to prevent errors when the array is undefined
This commit is contained in:
Micael Santana 2025-12-07 08:05:41 -03:00
parent a6001ee47a
commit 2d78ecbf3c

View file

@ -165,7 +165,9 @@
} }
$("#cb-hide-transmogs").change(() => { $("#cb-hide-transmogs").change(() => {
const hide = $("#cb-hide-transmogs").prop("checked"); const hide = $("#cb-hide-transmogs").prop("checked");
const items = hide ? charData.characterModelItems : charData.characterModelTransmogs; const items = hide || !Array.isArray(charData.characterModelTransmogs)
? charData.characterModelItems
: charData.characterModelTransmogs;
for (const slot of (items.map((item) => item[0]))) { for (const slot of (items.map((item) => item[0]))) {
clearSlots([slot]); clearSlots([slot]);
} }
@ -194,8 +196,8 @@
function setSlotVisible(slot, visible) { function setSlotVisible(slot, visible) {
if (visible) { if (visible) {
const transmogged = !$("#cb-hide-transmogs").prop("checked"); const useTransmog = !$("#cb-hide-transmogs").prop("checked") && Array.isArray(charData.characterModelTransmogs);
const items = transmogged ? charData.characterModelTransmogs : charData.characterModelItems; const items = useTransmog ? charData.characterModelTransmogs : charData.characterModelItems;
const item = items.find(([sl, appearance]) => sl === slot); const item = items.find(([sl, appearance]) => sl === slot);
if (item !== undefined) { if (item !== undefined) {
if (item[1] === -1) { if (item[1] === -1) {
@ -410,7 +412,7 @@
type: ZamModelViewer.WOW, type: ZamModelViewer.WOW,
contentPath: "{{ contentPath }}", contentPath: "{{ contentPath }}",
container: $model, container: $model,
hd: true, hd: false,
aspect: $model.outerWidth() / $model.outerHeight(), aspect: $model.outerWidth() / $model.outerHeight(),
charCustomization: { charCustomization: {
race: charData.race, race: charData.race,