v0.0.1-alpha.5

Added tooltip UI which shows the status of each Mojang service.
Updated dependencies.
This commit is contained in:
Daniel Scalzi
2018-05-17 03:11:44 -04:00
parent f5f5b72bed
commit ba916aa953
6 changed files with 181 additions and 45 deletions

View File

@@ -16,34 +16,40 @@ const minecraftAgent = {
const authpath = 'https://authserver.mojang.com'
const statuses = [
{
service: 'minecraft.net',
service: 'sessionserver.mojang.com',
status: 'grey',
name: 'Minecraft.net'
},
{
service: 'api.mojang.com',
status: 'grey',
name: 'Public API'
},
{
service: 'textures.minecraft.net',
status: 'grey',
name: 'Minecraft Skins'
name: 'Multiplayer Session Service',
essential: true
},
{
service: 'authserver.mojang.com',
status: 'grey',
name: 'Authentication Service'
name: 'Authentication Service',
essential: true
},
{
service: 'sessionserver.mojang.com',
service: 'textures.minecraft.net',
status: 'grey',
name: 'Multiplayer Session Service'
name: 'Minecraft Skins',
essential: false
},
{
service: 'api.mojang.com',
status: 'grey',
name: 'Public API',
essential: false
},
{
service: 'minecraft.net',
status: 'grey',
name: 'Minecraft.net',
essential: false
},
{
service: 'account.mojang.com',
status: 'grey',
name: 'Mojang accounts website'
name: 'Mojang Accounts Website',
essential: false
}
]

View File

@@ -141,27 +141,52 @@ server_selection_button.addEventListener('click', (e) => {
// Update Mojang Status Color
const refreshMojangStatuses = async function(){
console.log('Refreshing Mojang Statuses..')
let status = 'grey'
let tooltipEssentialHTML = ``
let tooltipNonEssentialHTML = ``
try {
const statuses = await Mojang.status()
greenCount = 0
for(let i=0; i<statuses.length; i++){
if(statuses[i].status === 'yellow' && status !== 'red'){
const service = statuses[i]
if(service.essential){
tooltipEssentialHTML += `<div class="mojangStatusContainer">
<span class="mojangStatusIcon" style="color: ${Mojang.statusToHex(service.status)};">&#8226;</span>
<span class="mojangStatusName">${service.name}</span>
</div>`
} else {
tooltipNonEssentialHTML += `<div class="mojangStatusContainer">
<span class="mojangStatusIcon" style="color: ${Mojang.statusToHex(service.status)};">&#8226;</span>
<span class="mojangStatusName">${service.name}</span>
</div>`
}
if(service.status === 'yellow' && status !== 'red'){
status = 'yellow'
continue
} else if(statuses[i].status === 'red'){
} else if(service.status === 'red'){
status = 'red'
break
}
++greenCount
}
if(greenCount == statuses.length){
status = 'green'
}
} catch (err) {
console.warn('Unable to refresh Mojang service status.')
console.debug(err)
}
document.getElementById('mojangStatusEssentialContainer').innerHTML = tooltipEssentialHTML
document.getElementById('mojangStatusNonEssentialContainer').innerHTML = tooltipNonEssentialHTML
document.getElementById('mojang_status_icon').style.color = Mojang.statusToHex(status)
}