From f04b4089f7ea2cb8caf27854189205b5953c3695 Mon Sep 17 00:00:00 2001 From: R40fendt Date: Wed, 28 Jan 2026 18:43:30 +0100 Subject: [PATCH] =?UTF-8?q?Fehlermeldungen=20hinzugef=C3=BCgt,=20wenn=20Ve?= =?UTF-8?q?rbindung=20zur=20API=20nicht=20klappt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-tauri/icons/128x128.png | Bin src-tauri/icons/128x128@2x.png | Bin src-tauri/icons/32x32.png | Bin src-tauri/icons/Square107x107Logo.png | Bin src-tauri/icons/Square142x142Logo.png | Bin src-tauri/icons/Square150x150Logo.png | Bin src-tauri/icons/Square284x284Logo.png | Bin src-tauri/icons/Square30x30Logo.png | Bin src-tauri/icons/Square310x310Logo.png | Bin src-tauri/icons/Square44x44Logo.png | Bin src-tauri/icons/Square71x71Logo.png | Bin src-tauri/icons/Square89x89Logo.png | Bin src-tauri/icons/StoreLogo.png | Bin src-tauri/icons/icon.icns | Bin src-tauri/icons/icon.ico | Bin src-tauri/icons/icon.png | Bin src-tauri/tauri.conf.json | 6 +- src/adminpanellib.ts | 3 +- src/components/Kloenkasten.vue | 20 ++- src/components/MyFooter.vue | 2 +- src/components/startseite/Bilderbuch.vue | 191 +++++++++++++---------- src/components/startseite/Events.vue | 9 +- src/ritzenbergenlib.ts | 11 ++ src/views/Bulitipp.vue | 5 + src/views/Galerie.vue | 7 +- src/views/Main.vue | 69 ++++---- src/views/adminpanel/AdminPanelLogin.vue | 8 +- 27 files changed, 194 insertions(+), 137 deletions(-) mode change 100644 => 100755 src-tauri/icons/128x128.png mode change 100644 => 100755 src-tauri/icons/128x128@2x.png mode change 100644 => 100755 src-tauri/icons/32x32.png mode change 100644 => 100755 src-tauri/icons/Square107x107Logo.png mode change 100644 => 100755 src-tauri/icons/Square142x142Logo.png mode change 100644 => 100755 src-tauri/icons/Square150x150Logo.png mode change 100644 => 100755 src-tauri/icons/Square284x284Logo.png mode change 100644 => 100755 src-tauri/icons/Square30x30Logo.png mode change 100644 => 100755 src-tauri/icons/Square310x310Logo.png mode change 100644 => 100755 src-tauri/icons/Square44x44Logo.png mode change 100644 => 100755 src-tauri/icons/Square71x71Logo.png mode change 100644 => 100755 src-tauri/icons/Square89x89Logo.png mode change 100644 => 100755 src-tauri/icons/StoreLogo.png mode change 100644 => 100755 src-tauri/icons/icon.icns mode change 100644 => 100755 src-tauri/icons/icon.ico mode change 100644 => 100755 src-tauri/icons/icon.png diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png old mode 100644 new mode 100755 diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns old mode 100644 new mode 100755 diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico old mode 100644 new mode 100755 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png old mode 100644 new mode 100755 diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index deb1572..0dcd43b 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -25,11 +25,7 @@ "active": true, "targets": "all", "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" + "icons/icon.png" ] } } diff --git a/src/adminpanellib.ts b/src/adminpanellib.ts index d844451..18f363d 100644 --- a/src/adminpanellib.ts +++ b/src/adminpanellib.ts @@ -3,9 +3,10 @@ import { useRouter } from "vue-router"; class AdminPanelLib { - router=useRouter(); static async getUserInfo(token:string){ + if(!await RitzenbergenLib.RitzenbergenLib.checkInternetConnection()) return false; + const url=new URL(RitzenbergenLib.RitzenbergenLib.api("/admin/userinfo.php")); return fetch(url.toString(), { headers: { diff --git a/src/components/Kloenkasten.vue b/src/components/Kloenkasten.vue index d8adf46..ad3f493 100644 --- a/src/components/Kloenkasten.vue +++ b/src/components/Kloenkasten.vue @@ -23,7 +23,7 @@ export default { parseInt(localStorage.getItem("kloenkasten_last_opened")) ); const lastMsg = this.messages[this.messages.length - 1]; - if (lastMsg.timestamp > lastOpened) { + if (this.messages && lastMsg.timestamp > lastOpened) { return true; } return false; @@ -60,7 +60,7 @@ export default { "kloenkasten_last_opened", Date.now().toString() ); - window.setTimeout( + if(this.messages) window.setTimeout( () => this.msgrefs[this.msgrefs.length - 1].scrollIntoView({ behavior: "smooth", @@ -78,13 +78,19 @@ export default { ) ); return fetch(url.toString(), { method: "GET" }) - .then((response) => response.json()) + .then((response)=>{ + if(response.ok) return response.json(); + else throw new Error("fetch "+response.status); + }) .then((data) => data.map((msg) => { msg.timestamp = new Date(msg.timestamp); return msg; }) - ); + ).catch(()=>{ + return false; + + }); }, watch: ["reloader"], }, @@ -108,7 +114,7 @@ export default { × -
+
+
+

Konnte Server nicht erreichen.

+ +
diff --git a/src/components/startseite/Events.vue b/src/components/startseite/Events.vue index e676d77..45232f2 100644 --- a/src/components/startseite/Events.vue +++ b/src/components/startseite/Events.vue @@ -27,6 +27,9 @@ export default { success: function (data: string) { result = JSON.parse(data); }, + error: function () { + result=false; + } }); return result; /* @@ -130,7 +133,7 @@ export default {
-
+
@@ -217,6 +220,10 @@ export default {
+
+

Keine Internetverbindung!

+ +
diff --git a/src/ritzenbergenlib.ts b/src/ritzenbergenlib.ts index b24d1e6..a283a73 100644 --- a/src/ritzenbergenlib.ts +++ b/src/ritzenbergenlib.ts @@ -50,6 +50,13 @@ class RitzenbergenLib { return apiBaseUrl + path; else return apiBaseUrl+"/" + path; } + static async checkInternetConnection(): Promise { + try{ + return await fetch(this.api("/addhit.php")).then((response)=>response.ok); + } catch(e){ + return false; + } + } } class Paarung { @@ -171,6 +178,7 @@ class Formular { } public static async getForms(): Promise { let forms: Formular[] = []; + try{ forms = await fetch( RitzenbergenLib.api("/formulare/get_formulare.php"), { @@ -191,6 +199,9 @@ class Formular { ) ); + } catch(e){ + console.warn(e); + } return forms; } private async getFields(): Promise { diff --git a/src/views/Bulitipp.vue b/src/views/Bulitipp.vue index fe4fc0d..7b3ace4 100644 --- a/src/views/Bulitipp.vue +++ b/src/views/Bulitipp.vue @@ -26,6 +26,11 @@ export default { Tippen, TippenEinloggen }, + created(){ + RitzenbergenLib.RitzenbergenLib.checkInternetConnection().then((result)=>{ + if(!result) this.$router.push("/"); + }); + }, asyncComputed: { users: { get(){ diff --git a/src/views/Galerie.vue b/src/views/Galerie.vue index 74a7f89..31367d1 100644 --- a/src/views/Galerie.vue +++ b/src/views/Galerie.vue @@ -17,7 +17,8 @@ export default { let osterfeuer = this.get_jahre("osterfeuer"); let doppelkopf = this.get_jahre("doppelkopf"); let fussball = this.get_jahre("fussball"); - let result = [ + if(erntefeste==undefined) return []; + let result = [ { src: erntefeste.map((erntefest) => RitzenbergenLib.RitzenbergenLib.api( @@ -98,7 +99,7 @@ export default { if(this.$route.params.ev){ let ev = this.$route.params.ev; - this.$refs[ev][0].scrollIntoView(); + if(this.$refs[ev]) this.$refs[ev][0].scrollIntoView(); this.$router.push("/galerie"); } } @@ -156,6 +157,8 @@ export default {


+

Keine Internetverbindung!

+


diff --git a/src/views/Main.vue b/src/views/Main.vue index 1b835ef..adc3a1f 100644 --- a/src/views/Main.vue +++ b/src/views/Main.vue @@ -1,4 +1,4 @@ -