var Settings; var PinnedGames; var BestFriends; let ContainerElement = `
`; let GameContainerElement = `
:GameName
`; let TitleElement = `
Jump right back into your favorite games
Pinned Games
`; var FriendContainer = document.querySelector('.card:has(.friendsPopup) .card-body') let NewContainer = document.createElement('div'); NewContainer.style.display = 'none' NewContainer.classList = 'card card-dash mcard'; NewContainer.style.animationDelay = '0.18s'; NewContainer.innerHTML = ContainerElement; let NewTitle = document.createElement('div'); NewTitle.style.display = 'none' NewTitle.classList = 'row reqFadeAnim px-2 px-lg-0'; NewTitle.innerHTML = TitleElement; let BestFriendsContainer = document.createElement('div') BestFriendsContainer.classList = 'd-flex' BestFriendsContainer.style = 'display: none; border-bottom: 1px solid #000; padding-bottom: 10px; margin-bottom: 10px; width: 100%;' /* BestFriendsContainer.style.display = 'none' BestFriendsContainer.style.borderBottom = '1px solid #000' BestFriendsContainer.style.paddingBottom = '10px' BestFriendsContainer.style.marginBottom = '10px' BestFriendsContainer.style.width = '100%' */ let Spacer = document.createElement('div') Spacer.innerHTML = ' ' Spacer.style.width = '50px' Spacer.prepend(BestFriendsContainer) FriendContainer.prepend(BestFriendsContainer) UpdateLocalData(); function UpdateLocalData() { chrome.storage.sync.get(['PolyPlus_Settings'], function(result) { Settings = result.PolyPlus_Settings || {PinnedGamesOn: true, BestFriendsOn: false} }); chrome.storage.sync.get(['PolyPlus_PinnedGames'], function(result) { PinnedGames = result.PolyPlus_PinnedGames || []; chrome.storage.sync.get(['PolyPlus_BestFriends'], function(result) { BestFriends = result.PolyPlus_BestFriends || []; if (Settings.PinnedGamesOn === true) { LoadPinnedGames(); } else { NewContainer.style.display = 'none' NewTitle.style.display = 'none' } if (Settings.BestFriendsOn === true) { LoadBestFriends(); } else { BestFriendsContainer.style.display = 'none' Spacer.style.display = 'none' } }); }); } function LoadPinnedGames() { var Existing = NewContainer.children[0].children Array.from(Existing).forEach(element => { element.remove(); }); if (PinnedGames.length === 0) { NewContainer.style.display = 'none' NewTitle.style.display = 'none' } else { NewContainer.style.display = '' NewTitle.style.display = '' } PinnedGames.forEach(element => { fetch('https://api.polytoria.com/v1/places/' + element) .then(response => response.json()) .then(data => { let GameName = data.name; let GameThumbnail = data.thumbnail; var NewGameContainer = document.createElement('a'); NewGameContainer.innerHTML = GameContainerElement.replace(':GameName',GameName).replace(':Thumbnail',GameThumbnail); NewGameContainer.setAttribute('href', '/places/' + element); if (new Date().getDate() >= new Date(data.updatedAt).getDate()) { console.log('Game has updated') } NewContainer.children[0].appendChild(NewGameContainer); }) .catch(error => { console.error('Error:', error); }); }); } function LoadBestFriends() { Array.from(document.querySelectorAll('[bestFriend]')).forEach(element => { element.removeAttribute('bestFriend') element.getElementsByClassName('friend-name')[0].style.color = 'initial'; FriendContainer.appendChild(element) }); if (BestFriends.length === 0) { BestFriendsContainer.style.visibility = 'hidden' BestFriendsContainer.style.padding = '0px !important' BestFriendsContainer.style.margin = '0px !important' } else { BestFriendsContainer.style.visibility = 'visible' BestFriendsContainer.style.padding = '' BestFriendsContainer.style.margin = '' } BestFriends.forEach(element => { let ExistingFriend = document.getElementById('friend-' + element) if (ExistingFriend) { ExistingFriend.setAttribute('bestFriend', 'true') ExistingFriend.getElementsByClassName('friend-name')[0].style.color = 'yellow'; BestFriendsContainer.prepend(ExistingFriend) } }); } var SecondaryColumn = document.getElementsByClassName('col-lg-8')[0] SecondaryColumn.insertBefore(NewContainer, SecondaryColumn.children[0]); SecondaryColumn.insertBefore(NewTitle, SecondaryColumn.children[0]);