Add an error bar to the site
This commit is contained in:
parent
67849abfeb
commit
87d83c33cf
1 changed files with 43 additions and 13 deletions
|
|
@ -1,9 +1,26 @@
|
||||||
<template>
|
<template>
|
||||||
<div id="app" class="maximize">
|
<div id="app" class="maximize">
|
||||||
<div v-if="!isMobile" class="maximize">
|
<div v-if="!isMobile" class="maximize">
|
||||||
<CreateJoin v-if="gameState == `login`" />
|
<transition name="top-slide">
|
||||||
<GameLobby v-else-if="gameState == `lobby`" />
|
<div
|
||||||
<InGame v-else-if="gameState == `in-game`" />
|
v-if="error"
|
||||||
|
class="error-bar"
|
||||||
|
>
|
||||||
|
{{ error }}
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
<CreateJoin
|
||||||
|
v-if="gameState == `login`"
|
||||||
|
@error="handleError($event)"
|
||||||
|
/>
|
||||||
|
<GameLobby
|
||||||
|
v-else-if="gameState == `lobby`"
|
||||||
|
@error="handleError($event)"
|
||||||
|
/>
|
||||||
|
<InGame
|
||||||
|
v-else-if="gameState == `in-game`"
|
||||||
|
@error="handleError($event)"
|
||||||
|
/>
|
||||||
<Attributions />
|
<Attributions />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|
@ -36,6 +53,9 @@ export default {
|
||||||
"GameLobby": GameLobby,
|
"GameLobby": GameLobby,
|
||||||
"InGame": InGame,
|
"InGame": InGame,
|
||||||
},
|
},
|
||||||
|
data() {return {
|
||||||
|
error: null
|
||||||
|
}},
|
||||||
computed: {
|
computed: {
|
||||||
gameState() {
|
gameState() {
|
||||||
return this.$store.state.view;
|
return this.$store.state.view;
|
||||||
|
|
@ -50,16 +70,13 @@ export default {
|
||||||
return this.userAgent.match(/Navigator|iPhone|iPod|Android/) != null;
|
return this.userAgent.match(/Navigator|iPhone|iPod|Android/) != null;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {},
|
methods: {
|
||||||
sockets: {
|
handleError(data) {
|
||||||
Error(data) {
|
this.error = `${data.status}${data.source ? ` @ ${data.source}` : ''} : ${data.message}`;
|
||||||
|
console.error(`${this.error}${data.extra ? ` ${data.extra}` : ''}`);
|
||||||
// Ensure that it was actually an error
|
setTimeout(() => { this.error = null; }, 3000);
|
||||||
if (200 <= data.status && data.status < 300) { return; };
|
},
|
||||||
|
},
|
||||||
console.error(data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -78,6 +95,19 @@ html, body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.error-bar {
|
||||||
|
background-color: #bb0000;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #FFFFFF;
|
||||||
|
position: fixed;
|
||||||
|
display: flex;
|
||||||
|
height: 35px;
|
||||||
|
width: 100vw;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.error {
|
.error {
|
||||||
border: solid 2px red;
|
border: solid 2px red;
|
||||||
margin: 50% auto;
|
margin: 50% auto;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue