feat: "Homepage Join Friends Tooltip Button" feature
This commit is contained in:
parent
ffcb35d15f
commit
f0ac985c13
2 changed files with 56 additions and 0 deletions
|
|
@ -105,4 +105,45 @@ chrome.storage.sync.get(['PolyPlus_Settings', 'PolyPlus_PinnedGames'], async fun
|
||||||
CountText.innerText = ' (' + FriendCount + ')';
|
CountText.innerText = ' (' + FriendCount + ')';
|
||||||
document.querySelector('#home-friendsOnline h5').appendChild(CountText);
|
document.querySelector('#home-friendsOnline h5').appendChild(CountText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Settings.HomeJoinFriendsButtonOn === true) {
|
||||||
|
const FriendsPopup = document.getElementById('friend-name')
|
||||||
|
const ChangeMutator = new MutationObserver(async function (list) {
|
||||||
|
for (let record of list) {
|
||||||
|
for (let node of record.addedNodes) {
|
||||||
|
if (node.tagName === 'A') {
|
||||||
|
const JoinButton = document.createElement('button')
|
||||||
|
JoinButton.classList = 'btn btn-success btn-sm'
|
||||||
|
JoinButton.style = 'position: absolute; top: 0; right: 0; z-index: 2000; font-size: 1.2rem;'
|
||||||
|
JoinButton.innerHTML = '<i class="fas fa-play"></i>'
|
||||||
|
node.parentElement.appendChild(JoinButton)
|
||||||
|
|
||||||
|
JoinButton.addEventListener('click', async function(){
|
||||||
|
const PlayingStatus = (await (await fetch('https://api.polytoria.com/v1/users/' + document.getElementById('friendsProfileLink').getAttribute('href').split('/')[2])).json()).playing;
|
||||||
|
|
||||||
|
const Token = (await (await fetch('https://polytoria.com/api/places/join', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
placeID: parseInt(node.getAttribute('href').split('/')[2]),
|
||||||
|
serverID: PlayingStatus.serverID
|
||||||
|
})
|
||||||
|
})).json())
|
||||||
|
|
||||||
|
if (!Token.success) {
|
||||||
|
alert(Token.message);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
window.location.href = 'polytoria://client/' + Token.token
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
ChangeMutator.observe(FriendsPopup, {childList: true})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -795,6 +795,21 @@
|
||||||
* Past playtime data (prior to extension install/prior to setting enable) is, understandably, not able to be tracked
|
* Past playtime data (prior to extension install/prior to setting enable) is, understandably, not able to be tracked
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="setting-container" id="home-join-friends">
|
||||||
|
<span class="badge bg-primary mb-1">New in v1.3!</span>
|
||||||
|
<br>
|
||||||
|
<span class="indicator"> </span>
|
||||||
|
<span class="title">
|
||||||
|
Homepage Join Friends Tooltip Button
|
||||||
|
</span>
|
||||||
|
<div class="setting-buttons">
|
||||||
|
<button class="btn btn-sm toggle-btn" data-setting="HomeJoinFriendsButtonOn">Toggle</button>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<span class="desc">
|
||||||
|
Quickly join your friends' servers by clicking the play button inside the tooltip in the "Friends" section of the homepage.
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<!---
|
<!---
|
||||||
<div class="setting-container" id="auto-ad-bidding">
|
<div class="setting-container" id="auto-ad-bidding">
|
||||||
<span class="indicator"> </span>
|
<span class="indicator"> </span>
|
||||||
|
|
|
||||||
Reference in a new issue