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 = `
+
+
+
+
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,
}
}