chrome.storage.sync.get(['PolyPlus_Settings'], function(result) {
Settings = result.PolyPlus_Settings || {};
if (Settings.TheGreatDivide.Enabled !== true) {
return
}
let EventOngoing = true
let HasTeam = true
if (document.querySelector('#user-avatar-card a[href="/event/the-great-divide"]') === null) { HasTeam = false }
if (new Date().getMonth().toString()+new Date().getDate().toString() >= 714) { EventOngoing = false }
if (Settings.TheGreatDivide.UnbalancedIndicatorOn === true && window.location.pathname.split('/')[1] === 'places' && window.location.pathname.split('/')[2] === '9656') {
UnbalancedServerMarkers()
}
console.log('ongoing|has team', EventOngoing, HasTeam)
if (Settings.TheGreatDivide.UserStatsOn === true && window.location.pathname.split('/')[1] === 'u') {
if (HasTeam === true) {
UserStatsTab()
} else {
if (EventOngoing === true) {
UserStatsTab()
}
}
}
})
async function UnbalancedServerMarkers() {
const Team = (await (await fetch('https://api.polytoria.com/v1/users/' + JSON.parse(window.localStorage.getItem('p+account_info')).ID + '/greatdivide')).json()).team
if (Team !== undefined) {
const Servers = Array.from(document.getElementById('servers-tabpane').children)
Servers.forEach(server => {
const TeamCounts = {
phantoms: server.getElementsByClassName('border-phantoms').length,
cobras: server.getElementsByClassName('border-cobras').length
}
let Enemy = "cobras"
if (Team === "cobras") { Enemy = "phantoms" }
if (new URLSearchParams(window.location.search).has('forceServerUnbalance')) {
TeamCounts[Enemy] = 1000
}
if (TeamCounts[Team] < TeamCounts[Enemy]) {
const UnbalancedText = document.createElement('p')
UnbalancedText.classList = 'mb-2'
UnbalancedText.style.fontSize = '0.7rem'
UnbalancedText.style.color = 'orange'
UnbalancedText.innerHTML = `*Potentially Unbalanced `
const ServerInfoColumn = server.getElementsByClassName('col-3')[0]
ServerInfoColumn.children[0].style.marginBottom = '0px'
ServerInfoColumn.insertBefore(UnbalancedText, ServerInfoColumn.children[1])
Utilities.InjectResource("registerTooltips")
}
})
}
}
async function UserStatsTab() {
const Tabs = document.getElementById('user-info-tabs')
const EventTab = document.createElement('li')
EventTab.classList = 'nav-item'
EventTab.style.marginLeft = 'auto'
EventTab.innerHTML = `
Great Divide
`
Tabs.appendChild(EventTab)
const TabContainer = document.createElement('div')
TabContainer.id = 'p+greatdivide_stats'
TabContainer.classList = 'tab-pane fade d-none'
TabContainer.innerHTML = `
loading...
`
document.getElementById('user-friends').parentElement.appendChild(TabContainer)
const ToggleTab = function(tab){
Array.from(Tabs.children).forEach((tab) => {
tab.children[0].classList.remove('active');
});
Array.from(document.getElementById('user-friends').parentElement.children).forEach((tab) => {
tab.classList.add('d-none');
tab.classList.remove('active');
tab.classList.remove('show');
});
tab.children[0].classList.add('active');
let SelectedTab
if (tab.children[0].getAttribute('data-bs-target')) {
SelectedTab = document.getElementById(tab.children[0].getAttribute('data-bs-target').substring(1))
} else {
SelectedTab = TabContainer
}
SelectedTab.classList.add('active');
SelectedTab.classList.add('show');
SelectedTab.classList.remove('d-none');
}
Array.from(Tabs.children).forEach((tab) => {
tab.addEventListener('click', function () {
ToggleTab(tab)
});
});
let Fetched = false
EventTab.addEventListener('click', async function(){
if (Fetched === false) {
chrome.runtime.sendMessage({
action: "greatdivide_stats",
userID: document.querySelector('.dropdown-item.text-danger[href^="/report"]').getAttribute('href').split('?')[0].split('/')[3]
});
Fetched = true
}
})
}