if (window.location.pathname.split('/')[3] === 'inventory') { const UserID = window.location.pathname.split('/')[2]; if (UserID === JSON.parse(window.localStorage.getItem('p+account_info')).ID) { let Nav = document.getElementsByClassName('nav-pills')[0]; let WishlistNav = document.createElement('li'); WishlistNav.classList.add('nav-item'); WishlistNav.innerHTML = ` Item Wishlist `; Nav.appendChild(WishlistNav); if (window.location.pathname.split('/')[4] === 'wishlist') { const ItemGrid = document.getElementsByClassName('itemgrid')[0]; const ItemCardContents = `
:LimitedTag
:ItemName
by :CreatorName `; Array.from(ItemGrid.children).forEach((element) => { element.remove(); }); Array.from(Nav.children).forEach((element) => { element = element.children[0]; if (!(element === WishlistNav)) { if (element.classList.contains('active')) { element.classList.remove('active'); } } }); WishlistNav.children[0].classList.add('active'); const Search = document.createElement('div'); Search.classList = 'row'; Search.innerHTML = `
`; ItemGrid.parentElement.prepend(document.createElement('br'), ItemGrid.parentElement.children[0]); ItemGrid.parentElement.prepend(Search, ItemGrid.parentElement.children[0]); let Type = document.getElementById('polyplus-itemwish-type'); let SearchBar = document.getElementById('polyplus-itemwish-searchbar'); let IsLimited = document.getElementById('polyplus-itemwish-isLimited'); let IsAvailable = document.getElementById('polyplus-itemwish-isAvailable'); Type.addEventListener('change', function () { Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); }); SearchBar.addEventListener('change', function () { Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); }); IsLimited.addEventListener('change', function () { Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); }); IsAvailable.addEventListener('change', function () { Update(Type.options[Type.selectedIndex].value, SearchBar.value, IsLimited.checked, IsAvailable.checked); }); chrome.storage.sync.get(['PolyPlus_ItemWishlist'], function (result) { let Wishlist = result.PolyPlus_ItemWishlist || []; console.log('wishlist: ', Wishlist); Wishlist.forEach((element) => { let NewItemCard = document.createElement('div'); NewItemCard.classList = 'px-0'; fetch('https://api.polytoria.com/v1/store/:id'.replace(':id', element)) .then((response) => response.json()) .then((data) => { NewItemCard.innerHTML = ItemCardContents.replace(':ItemID', data.id) .replace(':ItemThumbnail', data.thumbnail) .replace(':ItemName', data.name) .replace(':CreatorID', data.creator.id) .replace(':CreatorName', data.creator.name); if (data.isLimited === true) { NewItemCard.innerHTML = NewItemCard.innerHTML.replace(':LimitedTag', '
Limited
'); } else { NewItemCard.innerHTML = NewItemCard.innerHTML.replace(':LimitedTag', ''); } NewItemCard.setAttribute('data-id', data.id); NewItemCard.setAttribute('data-name', data.name); NewItemCard.setAttribute('data-type', data.type); NewItemCard.setAttribute('data-creator', data.creator.name); NewItemCard.setAttribute('data-limited', data.isLimited); if (data.isLimited === false) { NewItemCard.setAttribute('data-price', data.price); } ItemGrid.appendChild(NewItemCard); NewItemCard.getElementsByClassName('polyplus-itemwish-removebtn')[0].addEventListener('click', function () { let Index = Wishlist.indexOf(parseInt(NewItemCard.getAttribute('data-id'))); if (Index === -1) { NewItemCard.remove(); return; } else { Wishlist.splice(Index, 1); console.log(Wishlist); NewItemCard.remove(); } chrome.storage.sync.set({PolyPlus_ItemWishlist: Wishlist, arrayOrder: true}, function () { console.log('ItemWishlist successfully saved: ' + ItemWishlist); }); }); }) .catch((error) => { console.error('Error:', error); }); }); }); } } } function Update(type, query, isLimited, isAvailable) { let ItemGrid = document.getElementsByClassName('itemgrid')[0]; let BrickBalance = parseInt(JSON.parse(window.localStorage.getItem('p+account_info')).Bricks); query = query.toLowerCase(); let Results = Array.from(ItemGrid.children); for (let i = 0; i < Results.length; i++) { let Show = true; console.log('type: ', type); if (!(type === 'any')) { console.log("isn't any"); if (!(Results[i].getAttribute('data-type') === type)) { Show = false; } } if (!Results[i].getAttribute('data-name').toLowerCase().startsWith(query)) { Show = false; } if (isLimited === true) { if (!(Results[i].getAttribute('data-limited') === 'true')) { Show = false; } } if (isAvailable === true) { if (!(parseInt(Results[i].getAttribute('data-price')) <= BrickBalance)) { Show = false; } } if (Show === true) { Results[i].style.display = 'block'; } else { Results[i].style.display = 'none'; } } }