add "Waiting on microsoft..."
This commit is contained in:
parent
3ebb71b368
commit
731f00acc9
@ -688,6 +688,21 @@ body, button {
|
|||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
}
|
}
|
||||||
|
.circle-loader-big {
|
||||||
|
margin:auto;
|
||||||
|
border: 5px solid rgba(255, 255, 255, 0.5);
|
||||||
|
border-left-color: #ffffff;
|
||||||
|
animation-name: loader-spin;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
align-self: center;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
.load-complete {
|
.load-complete {
|
||||||
animation: none;
|
animation: none;
|
||||||
border-color: #ffffff;
|
border-color: #ffffff;
|
||||||
|
@ -301,17 +301,23 @@ loginButton.addEventListener('click', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
loginMSButton.addEventListener('click', (event) => {
|
loginMSButton.addEventListener('click', (event) => {
|
||||||
|
// Show loading stuff.
|
||||||
|
toggleOverlay(true, false, 'msOverlay')
|
||||||
loginMSButton.disabled = true
|
loginMSButton.disabled = true
|
||||||
ipcRenderer.send('openMSALoginWindow', 'open')
|
ipcRenderer.send('openMSALoginWindow', 'open')
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcRenderer.on('MSALoginWindowReply', (event, ...args) => {
|
ipcRenderer.on('MSALoginWindowReply', (event, ...args) => {
|
||||||
if (args[0] === 'error') {
|
if (args[0] === 'error') {
|
||||||
|
|
||||||
|
loginMSButton.disabled = false
|
||||||
|
loginLoading(false)
|
||||||
switch (args[1]){
|
switch (args[1]){
|
||||||
case 'AlreadyOpenException': {
|
case 'AlreadyOpenException': {
|
||||||
setOverlayContent('ERROR', 'There is already a login window open!', 'OK')
|
setOverlayContent('ERROR', 'There is already a login window open!', 'OK')
|
||||||
setOverlayHandler(() => {
|
setOverlayHandler(() => {
|
||||||
toggleOverlay(false)
|
toggleOverlay(false)
|
||||||
|
toggleOverlay(false, false, 'msOverlay')
|
||||||
})
|
})
|
||||||
toggleOverlay(true)
|
toggleOverlay(true)
|
||||||
return
|
return
|
||||||
@ -320,6 +326,7 @@ ipcRenderer.on('MSALoginWindowReply', (event, ...args) => {
|
|||||||
setOverlayContent('ERROR', 'You have to finish the login process to use Helios Launcher. The window will close by itself when you have successfully logged in.', 'OK')
|
setOverlayContent('ERROR', 'You have to finish the login process to use Helios Launcher. The window will close by itself when you have successfully logged in.', 'OK')
|
||||||
setOverlayHandler(() => {
|
setOverlayHandler(() => {
|
||||||
toggleOverlay(false)
|
toggleOverlay(false)
|
||||||
|
toggleOverlay(false, false, 'msOverlay')
|
||||||
})
|
})
|
||||||
toggleOverlay(true)
|
toggleOverlay(true)
|
||||||
return
|
return
|
||||||
@ -327,7 +334,7 @@ ipcRenderer.on('MSALoginWindowReply', (event, ...args) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
toggleOverlay(false, false, 'msOverlay')
|
||||||
const queryMap = args[0]
|
const queryMap = args[0]
|
||||||
if (queryMap.has('error')) {
|
if (queryMap.has('error')) {
|
||||||
let error = queryMap.get('error')
|
let error = queryMap.get('error')
|
||||||
@ -348,9 +355,6 @@ ipcRenderer.on('MSALoginWindowReply', (event, ...args) => {
|
|||||||
// Disable form.
|
// Disable form.
|
||||||
formDisabled(true)
|
formDisabled(true)
|
||||||
|
|
||||||
// Show loading stuff.
|
|
||||||
loginLoading(true)
|
|
||||||
|
|
||||||
const authCode = queryMap.get('code')
|
const authCode = queryMap.get('code')
|
||||||
AuthManager.addMSAccount(authCode).then(account => {
|
AuthManager.addMSAccount(authCode).then(account => {
|
||||||
updateSelectedAccount(account)
|
updateSelectedAccount(account)
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
*
|
*
|
||||||
* @returns {boolean} Whether or not the overlay is visible.
|
* @returns {boolean} Whether or not the overlay is visible.
|
||||||
*/
|
*/
|
||||||
function isOverlayVisible(){
|
function isOverlayVisible() {
|
||||||
return document.getElementById('main').hasAttribute('overlay')
|
return document.getElementById('main').hasAttribute('overlay')
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,8 +20,8 @@ let overlayHandlerContent
|
|||||||
*
|
*
|
||||||
* @param {KeyboardEvent} e The keydown event.
|
* @param {KeyboardEvent} e The keydown event.
|
||||||
*/
|
*/
|
||||||
function overlayKeyHandler (e){
|
function overlayKeyHandler(e) {
|
||||||
if(e.key === 'Enter' || e.key === 'Escape'){
|
if (e.key === 'Enter' || e.key === 'Escape') {
|
||||||
document.getElementById(overlayHandlerContent).getElementsByClassName('overlayKeybindEnter')[0].click()
|
document.getElementById(overlayHandlerContent).getElementsByClassName('overlayKeybindEnter')[0].click()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -30,10 +30,10 @@ function overlayKeyHandler (e){
|
|||||||
*
|
*
|
||||||
* @param {KeyboardEvent} e The keydown event.
|
* @param {KeyboardEvent} e The keydown event.
|
||||||
*/
|
*/
|
||||||
function overlayKeyDismissableHandler (e){
|
function overlayKeyDismissableHandler(e) {
|
||||||
if(e.key === 'Enter'){
|
if (e.key === 'Enter') {
|
||||||
document.getElementById(overlayHandlerContent).getElementsByClassName('overlayKeybindEnter')[0].click()
|
document.getElementById(overlayHandlerContent).getElementsByClassName('overlayKeybindEnter')[0].click()
|
||||||
} else if(e.key === 'Escape'){
|
} else if (e.key === 'Escape') {
|
||||||
document.getElementById(overlayHandlerContent).getElementsByClassName('overlayKeybindEsc')[0].click()
|
document.getElementById(overlayHandlerContent).getElementsByClassName('overlayKeybindEsc')[0].click()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -45,12 +45,12 @@ function overlayKeyDismissableHandler (e){
|
|||||||
* @param {string} content The overlay content which will be shown.
|
* @param {string} content The overlay content which will be shown.
|
||||||
* @param {boolean} dismissable Whether or not the overlay is dismissable
|
* @param {boolean} dismissable Whether or not the overlay is dismissable
|
||||||
*/
|
*/
|
||||||
function bindOverlayKeys(state, content, dismissable){
|
function bindOverlayKeys(state, content, dismissable) {
|
||||||
overlayHandlerContent = content
|
overlayHandlerContent = content
|
||||||
document.removeEventListener('keydown', overlayKeyHandler)
|
document.removeEventListener('keydown', overlayKeyHandler)
|
||||||
document.removeEventListener('keydown', overlayKeyDismissableHandler)
|
document.removeEventListener('keydown', overlayKeyDismissableHandler)
|
||||||
if(state){
|
if (state) {
|
||||||
if(dismissable){
|
if (dismissable) {
|
||||||
document.addEventListener('keydown', overlayKeyDismissableHandler)
|
document.addEventListener('keydown', overlayKeyDismissableHandler)
|
||||||
} else {
|
} else {
|
||||||
document.addEventListener('keydown', overlayKeyHandler)
|
document.addEventListener('keydown', overlayKeyHandler)
|
||||||
@ -65,22 +65,22 @@ function bindOverlayKeys(state, content, dismissable){
|
|||||||
* @param {boolean} dismissable Optional. True to show the dismiss option, otherwise false.
|
* @param {boolean} dismissable Optional. True to show the dismiss option, otherwise false.
|
||||||
* @param {string} content Optional. The content div to be shown.
|
* @param {string} content Optional. The content div to be shown.
|
||||||
*/
|
*/
|
||||||
function toggleOverlay(toggleState, dismissable = false, content = 'overlayContent'){
|
function toggleOverlay(toggleState, dismissable = false, content = 'overlayContent') {
|
||||||
if(toggleState == null){
|
if (toggleState == null) {
|
||||||
toggleState = !document.getElementById('main').hasAttribute('overlay')
|
toggleState = !document.getElementById('main').hasAttribute('overlay')
|
||||||
}
|
}
|
||||||
if(typeof dismissable === 'string'){
|
if (typeof dismissable === 'string') {
|
||||||
content = dismissable
|
content = dismissable
|
||||||
dismissable = false
|
dismissable = false
|
||||||
}
|
}
|
||||||
bindOverlayKeys(toggleState, content, dismissable)
|
bindOverlayKeys(toggleState, content, dismissable)
|
||||||
if(toggleState){
|
if (toggleState) {
|
||||||
document.getElementById('main').setAttribute('overlay', true)
|
document.getElementById('main').setAttribute('overlay', true)
|
||||||
// Make things untabbable.
|
// Make things untabbable.
|
||||||
$('#main *').attr('tabindex', '-1')
|
$('#main *').attr('tabindex', '-1')
|
||||||
$('#' + content).parent().children().hide()
|
$('#' + content).parent().children().hide()
|
||||||
$('#' + content).show()
|
$('#' + content).show()
|
||||||
if(dismissable){
|
if (dismissable) {
|
||||||
$('#overlayDismiss').show()
|
$('#overlayDismiss').show()
|
||||||
} else {
|
} else {
|
||||||
$('#overlayDismiss').hide()
|
$('#overlayDismiss').hide()
|
||||||
@ -88,7 +88,7 @@ function toggleOverlay(toggleState, dismissable = false, content = 'overlayConte
|
|||||||
$('#overlayContainer').fadeIn({
|
$('#overlayContainer').fadeIn({
|
||||||
duration: 250,
|
duration: 250,
|
||||||
start: () => {
|
start: () => {
|
||||||
if(getCurrentView() === VIEWS.settings){
|
if (getCurrentView() === VIEWS.settings) {
|
||||||
document.getElementById('settingsContainer').style.backgroundColor = 'transparent'
|
document.getElementById('settingsContainer').style.backgroundColor = 'transparent'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -100,14 +100,14 @@ function toggleOverlay(toggleState, dismissable = false, content = 'overlayConte
|
|||||||
$('#overlayContainer').fadeOut({
|
$('#overlayContainer').fadeOut({
|
||||||
duration: 250,
|
duration: 250,
|
||||||
start: () => {
|
start: () => {
|
||||||
if(getCurrentView() === VIEWS.settings){
|
if (getCurrentView() === VIEWS.settings) {
|
||||||
document.getElementById('settingsContainer').style.backgroundColor = 'rgba(0, 0, 0, 0.50)'
|
document.getElementById('settingsContainer').style.backgroundColor = 'rgba(0, 0, 0, 0.50)'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
complete: () => {
|
complete: () => {
|
||||||
$('#' + content).parent().children().hide()
|
$('#' + content).parent().children().hide()
|
||||||
$('#' + content).show()
|
$('#' + content).show()
|
||||||
if(dismissable){
|
if (dismissable) {
|
||||||
$('#overlayDismiss').show()
|
$('#overlayDismiss').show()
|
||||||
} else {
|
} else {
|
||||||
$('#overlayDismiss').hide()
|
$('#overlayDismiss').hide()
|
||||||
@ -117,7 +117,7 @@ function toggleOverlay(toggleState, dismissable = false, content = 'overlayConte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleServerSelection(toggleState){
|
function toggleServerSelection(toggleState) {
|
||||||
prepareServerSelectionList()
|
prepareServerSelectionList()
|
||||||
toggleOverlay(toggleState, true, 'serverSelectContent')
|
toggleOverlay(toggleState, true, 'serverSelectContent')
|
||||||
}
|
}
|
||||||
@ -130,7 +130,7 @@ function toggleServerSelection(toggleState){
|
|||||||
* @param {string} acknowledge Acknowledge button text.
|
* @param {string} acknowledge Acknowledge button text.
|
||||||
* @param {string} dismiss Dismiss button text.
|
* @param {string} dismiss Dismiss button text.
|
||||||
*/
|
*/
|
||||||
function setOverlayContent(title, description, acknowledge, dismiss = 'Dismiss'){
|
function setOverlayContent(title, description, acknowledge, dismiss = 'Dismiss') {
|
||||||
document.getElementById('overlayTitle').innerHTML = title
|
document.getElementById('overlayTitle').innerHTML = title
|
||||||
document.getElementById('overlayDesc').innerHTML = description
|
document.getElementById('overlayDesc').innerHTML = description
|
||||||
document.getElementById('overlayAcknowledge').innerHTML = acknowledge
|
document.getElementById('overlayAcknowledge').innerHTML = acknowledge
|
||||||
@ -143,8 +143,8 @@ function setOverlayContent(title, description, acknowledge, dismiss = 'Dismiss')
|
|||||||
*
|
*
|
||||||
* @param {function} handler
|
* @param {function} handler
|
||||||
*/
|
*/
|
||||||
function setOverlayHandler(handler){
|
function setOverlayHandler(handler) {
|
||||||
if(handler == null){
|
if (handler == null) {
|
||||||
document.getElementById('overlayAcknowledge').onclick = () => {
|
document.getElementById('overlayAcknowledge').onclick = () => {
|
||||||
toggleOverlay(false)
|
toggleOverlay(false)
|
||||||
}
|
}
|
||||||
@ -159,8 +159,8 @@ function setOverlayHandler(handler){
|
|||||||
*
|
*
|
||||||
* @param {function} handler
|
* @param {function} handler
|
||||||
*/
|
*/
|
||||||
function setDismissHandler(handler){
|
function setDismissHandler(handler) {
|
||||||
if(handler == null){
|
if (handler == null) {
|
||||||
document.getElementById('overlayDismiss').onclick = () => {
|
document.getElementById('overlayDismiss').onclick = () => {
|
||||||
toggleOverlay(false)
|
toggleOverlay(false)
|
||||||
}
|
}
|
||||||
@ -173,8 +173,8 @@ function setDismissHandler(handler){
|
|||||||
|
|
||||||
document.getElementById('serverSelectConfirm').addEventListener('click', () => {
|
document.getElementById('serverSelectConfirm').addEventListener('click', () => {
|
||||||
const listings = document.getElementsByClassName('serverListing')
|
const listings = document.getElementsByClassName('serverListing')
|
||||||
for(let i=0; i<listings.length; i++){
|
for (let i = 0; i < listings.length; i++) {
|
||||||
if(listings[i].hasAttribute('selected')){
|
if (listings[i].hasAttribute('selected')) {
|
||||||
const serv = DistroManager.getDistribution().getServer(listings[i].getAttribute('servid'))
|
const serv = DistroManager.getDistribution().getServer(listings[i].getAttribute('servid'))
|
||||||
updateSelectedServer(serv)
|
updateSelectedServer(serv)
|
||||||
refreshServerStatus(true)
|
refreshServerStatus(true)
|
||||||
@ -183,7 +183,7 @@ document.getElementById('serverSelectConfirm').addEventListener('click', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// None are selected? Not possible right? Meh, handle it.
|
// None are selected? Not possible right? Meh, handle it.
|
||||||
if(listings.length > 0){
|
if (listings.length > 0) {
|
||||||
const serv = DistroManager.getDistribution().getServer(listings[i].getAttribute('servid'))
|
const serv = DistroManager.getDistribution().getServer(listings[i].getAttribute('servid'))
|
||||||
updateSelectedServer(serv)
|
updateSelectedServer(serv)
|
||||||
toggleOverlay(false)
|
toggleOverlay(false)
|
||||||
@ -192,8 +192,8 @@ document.getElementById('serverSelectConfirm').addEventListener('click', () => {
|
|||||||
|
|
||||||
document.getElementById('accountSelectConfirm').addEventListener('click', () => {
|
document.getElementById('accountSelectConfirm').addEventListener('click', () => {
|
||||||
const listings = document.getElementsByClassName('accountListing')
|
const listings = document.getElementsByClassName('accountListing')
|
||||||
for(let i=0; i<listings.length; i++){
|
for (let i = 0; i < listings.length; i++) {
|
||||||
if(listings[i].hasAttribute('selected')){
|
if (listings[i].hasAttribute('selected')) {
|
||||||
const authAcc = ConfigManager.setSelectedAccount(listings[i].getAttribute('uuid'))
|
const authAcc = ConfigManager.setSelectedAccount(listings[i].getAttribute('uuid'))
|
||||||
ConfigManager.save()
|
ConfigManager.save()
|
||||||
updateSelectedAccount(authAcc)
|
updateSelectedAccount(authAcc)
|
||||||
@ -203,7 +203,7 @@ document.getElementById('accountSelectConfirm').addEventListener('click', () =>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// None are selected? Not possible right? Meh, handle it.
|
// None are selected? Not possible right? Meh, handle it.
|
||||||
if(listings.length > 0){
|
if (listings.length > 0) {
|
||||||
const authAcc = ConfigManager.setSelectedAccount(listings[0].getAttribute('uuid'))
|
const authAcc = ConfigManager.setSelectedAccount(listings[0].getAttribute('uuid'))
|
||||||
ConfigManager.save()
|
ConfigManager.save()
|
||||||
updateSelectedAccount(authAcc)
|
updateSelectedAccount(authAcc)
|
||||||
@ -223,16 +223,16 @@ document.getElementById('accountSelectCancel').addEventListener('click', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
function setServerListingHandlers(){
|
function setServerListingHandlers() {
|
||||||
const listings = Array.from(document.getElementsByClassName('serverListing'))
|
const listings = Array.from(document.getElementsByClassName('serverListing'))
|
||||||
listings.map((val) => {
|
listings.map((val) => {
|
||||||
val.onclick = e => {
|
val.onclick = e => {
|
||||||
if(val.hasAttribute('selected')){
|
if (val.hasAttribute('selected')) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const cListings = document.getElementsByClassName('serverListing')
|
const cListings = document.getElementsByClassName('serverListing')
|
||||||
for(let i=0; i<cListings.length; i++){
|
for (let i = 0; i < cListings.length; i++) {
|
||||||
if(cListings[i].hasAttribute('selected')){
|
if (cListings[i].hasAttribute('selected')) {
|
||||||
cListings[i].removeAttribute('selected')
|
cListings[i].removeAttribute('selected')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -242,16 +242,16 @@ function setServerListingHandlers(){
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAccountListingHandlers(){
|
function setAccountListingHandlers() {
|
||||||
const listings = Array.from(document.getElementsByClassName('accountListing'))
|
const listings = Array.from(document.getElementsByClassName('accountListing'))
|
||||||
listings.map((val) => {
|
listings.map((val) => {
|
||||||
val.onclick = e => {
|
val.onclick = e => {
|
||||||
if(val.hasAttribute('selected')){
|
if (val.hasAttribute('selected')) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const cListings = document.getElementsByClassName('accountListing')
|
const cListings = document.getElementsByClassName('accountListing')
|
||||||
for(let i=0; i<cListings.length; i++){
|
for (let i = 0; i < cListings.length; i++) {
|
||||||
if(cListings[i].hasAttribute('selected')){
|
if (cListings[i].hasAttribute('selected')) {
|
||||||
cListings[i].removeAttribute('selected')
|
cListings[i].removeAttribute('selected')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -261,12 +261,12 @@ function setAccountListingHandlers(){
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function populateServerListings(){
|
function populateServerListings() {
|
||||||
const distro = DistroManager.getDistribution()
|
const distro = DistroManager.getDistribution()
|
||||||
const giaSel = ConfigManager.getSelectedServer()
|
const giaSel = ConfigManager.getSelectedServer()
|
||||||
const servers = distro.getServers()
|
const servers = distro.getServers()
|
||||||
let htmlString = ''
|
let htmlString = ''
|
||||||
for(const serv of servers){
|
for (const serv of servers) {
|
||||||
htmlString += `<button class="serverListing" servid="${serv.getID()}" ${serv.getID() === giaSel ? 'selected' : ''}>
|
htmlString += `<button class="serverListing" servid="${serv.getID()}" ${serv.getID() === giaSel ? 'selected' : ''}>
|
||||||
<img class="serverListingImg" src="${serv.getIcon()}"/>
|
<img class="serverListingImg" src="${serv.getIcon()}"/>
|
||||||
<div class="serverListingDetails">
|
<div class="serverListingDetails">
|
||||||
@ -293,12 +293,12 @@ function populateServerListings(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function populateAccountListings(){
|
function populateAccountListings() {
|
||||||
const accountsObj = ConfigManager.getAuthAccounts()
|
const accountsObj = ConfigManager.getAuthAccounts()
|
||||||
const accounts = Array.from(Object.keys(accountsObj), v=>accountsObj[v])
|
const accounts = Array.from(Object.keys(accountsObj), v => accountsObj[v])
|
||||||
let htmlString = ''
|
let htmlString = ''
|
||||||
for(let i=0; i<accounts.length; i++){
|
for (let i = 0; i < accounts.length; i++) {
|
||||||
htmlString += `<button class="accountListing" uuid="${accounts[i].uuid}" ${i===0 ? 'selected' : ''}>
|
htmlString += `<button class="accountListing" uuid="${accounts[i].uuid}" ${i === 0 ? 'selected' : ''}>
|
||||||
<img src="https://crafatar.com/renders/head/${accounts[i].uuid}?scale=2&default=MHF_Steve&overlay">
|
<img src="https://crafatar.com/renders/head/${accounts[i].uuid}?scale=2&default=MHF_Steve&overlay">
|
||||||
<div class="accountListingName">${accounts[i].displayName}</div>
|
<div class="accountListingName">${accounts[i].displayName}</div>
|
||||||
</button>`
|
</button>`
|
||||||
@ -307,12 +307,12 @@ function populateAccountListings(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepareServerSelectionList(){
|
function prepareServerSelectionList() {
|
||||||
populateServerListings()
|
populateServerListings()
|
||||||
setServerListingHandlers()
|
setServerListingHandlers()
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepareAccountSelectionList(){
|
function prepareAccountSelectionList() {
|
||||||
populateAccountListings()
|
populateAccountListings()
|
||||||
setAccountListingHandlers()
|
setAccountListingHandlers()
|
||||||
}
|
}
|
@ -28,6 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="overlayContent">
|
<div id="overlayContent">
|
||||||
|
<div class="circle-loader" style="display: none;"></div>
|
||||||
<span id="overlayTitle">Lorem Ipsum:<br>Finis Illud</span>
|
<span id="overlayTitle">Lorem Ipsum:<br>Finis Illud</span>
|
||||||
<span id="overlayDesc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud..</span>
|
<span id="overlayDesc">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud..</span>
|
||||||
<div id="overlayActionContainer">
|
<div id="overlayActionContainer">
|
||||||
@ -37,5 +38,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="msOverlay" style="display: none;">
|
||||||
|
<span><div class="circle-loader-big"></div></span><br>
|
||||||
|
<span style="font-size: 2em;">Waiting on Microsoft...</span>
|
||||||
|
</div>
|
||||||
<script src="./assets/js/scripts/overlay.js"></script>
|
<script src="./assets/js/scripts/overlay.js"></script>
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue
Block a user