feat(webui): display Favorite items first #2656
@ -662,7 +662,9 @@ function updateInventory() {
 | 
				
			|||||||
                "KubrowPets"
 | 
					                "KubrowPets"
 | 
				
			||||||
            ].forEach(category => {
 | 
					            ].forEach(category => {
 | 
				
			||||||
                document.getElementById(category + "-list").innerHTML = "";
 | 
					                document.getElementById(category + "-list").innerHTML = "";
 | 
				
			||||||
                data[category].forEach(item => {
 | 
					                data[category]
 | 
				
			||||||
 | 
					                    .sort((a, b) => (b.Favorite ? 1 : 0) - (a.Favorite ? 1 : 0))
 | 
				
			||||||
 | 
					                    .forEach(item => {
 | 
				
			||||||
                        const tr = document.createElement("tr");
 | 
					                        const tr = document.createElement("tr");
 | 
				
			||||||
                        tr.setAttribute("data-item-type", item.ItemType);
 | 
					                        tr.setAttribute("data-item-type", item.ItemType);
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
@ -686,6 +688,9 @@ function updateInventory() {
 | 
				
			|||||||
                                });
 | 
					                                });
 | 
				
			||||||
                                td.textContent = td.textContent.slice(0, -1) + " ]";
 | 
					                                td.textContent = td.textContent.slice(0, -1) + " ]";
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
 | 
					                            if (item.Favorite) {
 | 
				
			||||||
 | 
					                                td.textContent = "★ " + td.textContent;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
                            tr.appendChild(td);
 | 
					                            tr.appendChild(td);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
@ -709,7 +714,8 @@ function updateInventory() {
 | 
				
			|||||||
                                for (const exaltedType of itemMap[item.ItemType].exalted) {
 | 
					                                for (const exaltedType of itemMap[item.ItemType].exalted) {
 | 
				
			||||||
                                    const exaltedItem = data.SpecialItems.find(x => x.ItemType == exaltedType);
 | 
					                                    const exaltedItem = data.SpecialItems.find(x => x.ItemType == exaltedType);
 | 
				
			||||||
                                    if (exaltedItem) {
 | 
					                                    if (exaltedItem) {
 | 
				
			||||||
                                    const exaltedCap = itemMap[exaltedType]?.type == "weapons" ? 800_000 : 1_600_000;
 | 
					                                        const exaltedCap =
 | 
				
			||||||
 | 
					                                            itemMap[exaltedType]?.type == "weapons" ? 800_000 : 1_600_000;
 | 
				
			||||||
                                        if (exaltedItem.XP < exaltedCap) {
 | 
					                                        if (exaltedItem.XP < exaltedCap) {
 | 
				
			||||||
                                            anyExaltedMissingXP = true;
 | 
					                                            anyExaltedMissingXP = true;
 | 
				
			||||||
                                            break;
 | 
					                                            break;
 | 
				
			||||||
@ -729,7 +735,9 @@ function updateInventory() {
 | 
				
			|||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                        if ("exalted" in itemMap[item.ItemType]) {
 | 
					                                        if ("exalted" in itemMap[item.ItemType]) {
 | 
				
			||||||
                                            for (const exaltedType of itemMap[item.ItemType].exalted) {
 | 
					                                            for (const exaltedType of itemMap[item.ItemType].exalted) {
 | 
				
			||||||
                                            const exaltedItem = data.SpecialItems.find(x => x.ItemType == exaltedType);
 | 
					                                                const exaltedItem = data.SpecialItems.find(
 | 
				
			||||||
 | 
					                                                    x => x.ItemType == exaltedType
 | 
				
			||||||
 | 
					                                                );
 | 
				
			||||||
                                                if (exaltedItem) {
 | 
					                                                if (exaltedItem) {
 | 
				
			||||||
                                                    const exaltedCap =
 | 
					                                                    const exaltedCap =
 | 
				
			||||||
                                                        itemMap[exaltedType]?.type == "weapons" ? 800_000 : 1_600_000;
 | 
					                                                        itemMap[exaltedType]?.type == "weapons" ? 800_000 : 1_600_000;
 | 
				
			||||||
@ -756,11 +764,14 @@ function updateInventory() {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            if (
 | 
					                            if (
 | 
				
			||||||
                            ["Suits", "LongGuns", "Pistols", "Melee", "SpaceGuns", "SpaceMelee"].includes(category) ||
 | 
					                                ["Suits", "LongGuns", "Pistols", "Melee", "SpaceGuns", "SpaceMelee"].includes(
 | 
				
			||||||
 | 
					                                    category
 | 
				
			||||||
 | 
					                                ) ||
 | 
				
			||||||
                                modularWeapons.includes(item.ItemType)
 | 
					                                modularWeapons.includes(item.ItemType)
 | 
				
			||||||
                            ) {
 | 
					                            ) {
 | 
				
			||||||
                                const a = document.createElement("a");
 | 
					                                const a = document.createElement("a");
 | 
				
			||||||
                            a.href = "/webui/detailedView?productCategory=" + category + "&itemId=" + item.ItemId.$oid;
 | 
					                                a.href =
 | 
				
			||||||
 | 
					                                    "/webui/detailedView?productCategory=" + category + "&itemId=" + item.ItemId.$oid;
 | 
				
			||||||
                                a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z"/></svg>`;
 | 
					                                a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z"/></svg>`;
 | 
				
			||||||
                                td.appendChild(a);
 | 
					                                td.appendChild(a);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user