diff --git a/src/main.js b/src/main.js index 6c47752..3c3a481 100644 --- a/src/main.js +++ b/src/main.js @@ -34,24 +34,39 @@ String.prototype.includesCI = function (val) { } // bluemap app -const bluemap = new BlueMapApp(document.getElementById("map-container")); -window.bluemap = bluemap; +try { + const bluemap = new BlueMapApp(document.getElementById("map-container")); + window.bluemap = bluemap; // init vue -Vue.config.productionTip = false; -Object.defineProperty(Vue.prototype, '$bluemap', { - get() { return bluemap; } -}); + Vue.config.productionTip = false; + Object.defineProperty(Vue.prototype, '$bluemap', { + get() { + return bluemap; + } + }); -const vue = new Vue({ - i18n, - render: h => h(App) -}).$mount('#app'); + const vue = new Vue({ + i18n, + render: h => h(App) + }).$mount('#app'); // load languages -i18n.loadLanguageSettings().catch(error => console.error(error)); + i18n.loadLanguageSettings().catch(error => console.error(error)); // load bluemap next tick (to let the assets load first) -vue.$nextTick(() => { - bluemap.load().catch(error => console.error(error)); -}); + vue.$nextTick(() => { + bluemap.load().catch(error => console.error(error)); + }); +} catch (e) { + console.error("Failed to load BlueMap webapp!", e); + document.body.innerHTML = ` +
+
+ bluemap logo +
Failed to load BlueMap webapp!
+
Make sure you have WebGL enabled on your browser.
+
+
+ `; +} diff --git a/src/scss/global.scss b/src/scss/global.scss index b6d1fe4..ffbdc0f 100644 --- a/src/scss/global.scss +++ b/src/scss/global.scss @@ -146,4 +146,38 @@ input { background: var(--theme-fg); } +//app-error +#bm-app-err { + position: relative; + + width: 100vw; + height: 100vh; + + background-color: var(--theme-bg); + color: var(--theme-fg); + + > div { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + + text-align: center; + + img { + max-width: 10em; + min-width: 5em; + width: 90%; + border-radius: 50%; + margin: 0 0 3em 0; + } + + .bm-app-err-hint { + color: var(--theme-fg-light); + } + + } + +} + @import "markers.scss"; diff --git a/vue.config.js b/vue.config.js index 99ee2cd..c1bb02f 100644 --- a/vue.config.js +++ b/vue.config.js @@ -6,18 +6,18 @@ module.exports = { devServer: { proxy: { '/settings.json': { - target: 'http://localhost:8100', - //target: 'https://bluecolored.de/bluemap', + //target: 'http://localhost:8100', + target: 'https://bluecolored.de/bluemap', changeOrigin: true, }, '/maps': { - target: 'http://localhost:8100', - //target: 'https://bluecolored.de/bluemap', + //target: 'http://localhost:8100', + target: 'https://bluecolored.de/bluemap', changeOrigin: true, }, '/assets/playerheads': { - target: 'http://localhost:8100', - //target: 'https://bluecolored.de/bluemap', + //target: 'http://localhost:8100', + target: 'https://bluecolored.de/bluemap', changeOrigin: true, } }