Spaces:
Running
Running
pc.script.createLoadingScreen(function (app) { | |
var showSplash = function () { | |
// splash wrapper | |
var wrapper = document.createElement('div'); | |
wrapper.id = 'application-splash-wrapper'; | |
document.body.appendChild(wrapper); | |
// splash | |
var splash = document.createElement('div'); | |
splash.id = 'application-splash'; | |
wrapper.appendChild(splash); | |
splash.style.display = 'none'; | |
var logo = document.createElement('img'); | |
logo.src = ASSET_PREFIX + 'logo.png'; | |
splash.appendChild(logo); | |
logo.onload = function () { | |
splash.style.display = 'block'; | |
}; | |
var container = document.createElement('div'); | |
container.id = 'progress-bar-container'; | |
splash.appendChild(container); | |
var bar = document.createElement('div'); | |
bar.id = 'progress-bar'; | |
container.appendChild(bar); | |
}; | |
var hideSplash = function () { | |
var splash = document.getElementById('application-splash-wrapper'); | |
splash.parentElement.removeChild(splash); | |
}; | |
var setProgress = function (value) { | |
var bar = document.getElementById('progress-bar'); | |
if (bar) { | |
value = Math.min(1, Math.max(0, value)); | |
bar.style.width = value * 100 + '%'; | |
} | |
}; | |
var createCss = function () { | |
var css = [ | |
'body {', | |
' background-color: #283538;', | |
'}', | |
'#application-splash-wrapper {', | |
' position: absolute;', | |
' top: 0;', | |
' left: 0;', | |
' height: 100%;', | |
' width: 100%;', | |
' background-color: #283538;', | |
'}', | |
'#application-splash {', | |
' position: absolute;', | |
' top: calc(50% - 28px);', | |
' width: 264px;', | |
' left: calc(50% - 132px);', | |
'}', | |
'#application-splash img {', | |
' width: 100%;', | |
'}', | |
'#progress-bar-container {', | |
' margin: 20px auto 0 auto;', | |
' height: 2px;', | |
' width: 100%;', | |
' background-color: #1d292c;', | |
'}', | |
'#progress-bar {', | |
' width: 0%;', | |
' height: 100%;', | |
' background-color: #f60;', | |
'}', | |
'@media (max-width: 480px) {', | |
' #application-splash {', | |
' width: 170px;', | |
' left: calc(50% - 85px);', | |
' }', | |
'}' | |
].join('\n'); | |
var style = document.createElement('style'); | |
style.type = 'text/css'; | |
if (style.styleSheet) { | |
style.styleSheet.cssText = css; | |
} else { | |
style.appendChild(document.createTextNode(css)); | |
} | |
document.head.appendChild(style); | |
}; | |
createCss(); | |
showSplash(); | |
app.on('preload:end', function () { | |
app.off('preload:progress'); | |
}); | |
app.on('preload:progress', setProgress); | |
app.on('start', hideSplash); | |
}); | |