From 4cfa03834efa34ae8af9bd2fd99cc74db51b8ce9 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Mon, 10 Nov 2025 14:20:34 +0100 Subject: [PATCH] Refactor alert handling to use dialog components for improved user feedback Updated various components to replace alert calls with showInfo and showConfirm dialog methods, enhancing user experience by providing more informative and styled feedback. This change standardizes the way messages are displayed across the application, improving consistency and clarity in user interactions. --- frontend/src/App.vue | 2 +- frontend/src/views/Activate.vue | 4 +- frontend/src/views/ClubView.vue | 4 +- frontend/src/views/CreateClub.vue | 6 +- frontend/src/views/Login.vue | 2 +- .../src/views/MemberTransferSettingsView.vue | 106 ++++++++++++++++-- frontend/src/views/MembersView.vue | 10 +- frontend/src/views/OfficialTournaments.vue | 8 +- frontend/src/views/PermissionsView.vue | 97 +++++++++++++++- frontend/src/views/PredefinedActivities.vue | 8 +- frontend/src/views/Register.vue | 4 +- frontend/src/views/ScheduleView.vue | 2 +- frontend/src/views/TeamManagementView.vue | 8 +- frontend/src/views/TournamentsView.vue | 8 +- 14 files changed, 233 insertions(+), 36 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 3c6956d..264ea36 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -322,7 +322,7 @@ export default { }, handleLogout() { - alert('Deine Sitzung ist abgelaufen. Du wirst abgemeldet.'); + this.showInfo('Hinweis', 'Deine Sitzung ist abgelaufen. Du wirst abgemeldet.', '', 'warning'); this.logout(); clearInterval(this.sessionInterval); this.$router.push('/login'); diff --git a/frontend/src/views/Activate.vue b/frontend/src/views/Activate.vue index 698cf49..918b589 100644 --- a/frontend/src/views/Activate.vue +++ b/frontend/src/views/Activate.vue @@ -69,10 +69,10 @@ export default { try { const activationCode = this.$route.params.activationCode; await axios.get(`/api/auth/activate/${activationCode}`); - alert('Account activated! You can now log in.'); + await this.showInfo('Erfolg', 'Account aktiviert! Du kannst dich jetzt anmelden.', '', 'success'); this.$router.push('/login'); } catch (error) { - alert('Aktivierung fehlgeschlagen'); + await this.showInfo('Fehler', 'Aktivierung fehlgeschlagen. Bitte überprüfe den Link oder versuche es erneut.', '', 'error'); } }, }, diff --git a/frontend/src/views/ClubView.vue b/frontend/src/views/ClubView.vue index 4e2d62f..b289806 100644 --- a/frontend/src/views/ClubView.vue +++ b/frontend/src/views/ClubView.vue @@ -124,7 +124,7 @@ export default { this.club = response.data; this.accessAllowed = true; } catch (error) { - alert('Zugriff auf den Verein nicht gestattet'); + await this.showInfo('Fehler', 'Zugriff auf den Verein nicht gestattet.', '', 'error'); } }, async loadOpenRequests() { @@ -138,7 +138,7 @@ export default { async requestAccess() { const response = await apiClient.get(`/clubs/request/${this.currentClub}`); if (response.status === 200) { - alert('Zugriff wurde angefragt'); + await this.showInfo('Hinweis', 'Zugriff wurde angefragt.', '', 'info'); } }, labelGender(g) { diff --git a/frontend/src/views/CreateClub.vue b/frontend/src/views/CreateClub.vue index fe3df1b..bfdf4c3 100644 --- a/frontend/src/views/CreateClub.vue +++ b/frontend/src/views/CreateClub.vue @@ -92,7 +92,7 @@ export default { ...mapActions(['setClubs', 'setCurrentClub']), async createClub() { if (this.clubName.trim().length < 3) { - alert('Bitte gib dem Verein einen Aussagekräftigen Namen'); + await this.showInfo('Hinweis', 'Bitte gib dem Verein einen aussagekräftigen Namen.', '', 'warning'); return; } try { @@ -102,9 +102,9 @@ export default { this.setCurrentClub(newClub.data); } catch (error) { if (error.status === 409) { - alert('Der Verein existiert bereits.'); + await this.showInfo('Hinweis', 'Der Verein existiert bereits.', '', 'info'); } else { - alert('Ein unbekannter Fehler ist aufgetreten.'); + await this.showInfo('Fehler', 'Ein unbekannter Fehler ist aufgetreten. Bitte versuche es erneut.', '', 'error'); } } } diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue index 641e053..69efbaf 100644 --- a/frontend/src/views/Login.vue +++ b/frontend/src/views/Login.vue @@ -104,7 +104,7 @@ export default { await this.login({ token: response.data.token, username: this.email }); this.$router.push('/'); } catch (error) { - alert('Login fehlgeschlagen'); + await this.showInfo('Fehler', 'Login fehlgeschlagen. Bitte Zugangsdaten prüfen und erneut versuchen.', '', 'error'); } }, }, diff --git a/frontend/src/views/MemberTransferSettingsView.vue b/frontend/src/views/MemberTransferSettingsView.vue index 7dec2c3..12ca2c7 100644 --- a/frontend/src/views/MemberTransferSettingsView.vue +++ b/frontend/src/views/MemberTransferSettingsView.vue @@ -281,15 +281,42 @@ + + + +