diff --git a/backend/MYTISCHTENNIS_URL_PARSER_README.md b/backend/MYTISCHTENNIS_URL_PARSER_README.md index a54eff9..2b006bb 100644 --- a/backend/MYTISCHTENNIS_URL_PARSER_README.md +++ b/backend/MYTISCHTENNIS_URL_PARSER_README.md @@ -203,7 +203,8 @@ export default { this.parsedData = result.data; } catch (error) { console.error('Fehler beim Parsen:', error); - alert('URL konnte nicht geparst werden'); + // Hinweis: Im Frontend stattdessen InfoDialog/ConfirmDialog verwenden + // alert('URL konnte nicht geparst werden'); } }, @@ -227,11 +228,14 @@ export default { const result = await response.json(); if (result.success) { - alert('Team erfolgreich konfiguriert!'); + // In der Anwendung bitte InfoDialog nutzen + // alert('Team erfolgreich konfiguriert!'); + } else { + // alert('Team konnte nicht konfiguriert werden'); } } catch (error) { console.error('Fehler bei Konfiguration:', error); - alert('Team konnte nicht konfiguriert werden'); + // alert('Team konnte nicht konfiguriert werden'); } } } diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 264ea36..751fcb7 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -161,9 +161,9 @@ import { mapGetters, mapActions } from 'vuex'; import apiClient from './apiClient.js'; import logoUrl from './assets/logo.png'; import DialogManager from './components/DialogManager.vue'; - import InfoDialog from './components/InfoDialog.vue'; import ConfirmDialog from './components/ConfirmDialog.vue'; +import { buildInfoConfig, buildConfirmConfig } from './utils/dialogUtils.js'; export default { name: 'App', components: { @@ -255,25 +255,19 @@ export default { }, // Dialog Helper Methods async showInfo(title, message, details = '', type = 'info') { - this.infoDialog = { - isOpen: true, - title, - message, - details, - type - }; + this.infoDialog = buildInfoConfig({ title, message, details, type }); }, - async showConfirm(title, message, details = '', type = 'info') { + async showConfirm(title, message, details = '', type = 'info', options = {}) { return new Promise((resolve) => { - this.confirmDialog = { - isOpen: true, + this.confirmDialog = buildConfirmConfig({ title, message, details, type, - resolveCallback: resolve - }; + resolveCallback: resolve, + ...options, + }); }); }, diff --git a/frontend/src/components/DIALOGS_OVERVIEW.md b/frontend/src/components/DIALOGS_OVERVIEW.md index 73949e8..2d52987 100644 --- a/frontend/src/components/DIALOGS_OVERVIEW.md +++ b/frontend/src/components/DIALOGS_OVERVIEW.md @@ -1,5 +1,7 @@ # Dialog-Komponenten Übersicht +> Hinweis: Alle Beispiele verwenden unsere Dialog-Komponenten (`InfoDialog`, `ConfirmDialog`). Klassische Browser-Dialoge (`alert`, `confirm`) werden ausschließlich zu Vergleichszwecken genannt und sollen nicht in produktivem Code eingesetzt werden. + ## 📋 Alle verfügbaren Dialog-Komponenten ### Basis-Komponenten @@ -281,8 +283,9 @@ await showInfo({ **Vorher:** ```javascript -alert('Fehler!'); -if (confirm('Löschen?')) { ... } +// Nicht mehr verwenden: +// alert('Fehler!'); +// if (confirm('Löschen?')) { ... } ``` **Nachher:** diff --git a/frontend/src/components/MemberTransferDialog.vue b/frontend/src/components/MemberTransferDialog.vue index 8442481..4d6b0f9 100644 --- a/frontend/src/components/MemberTransferDialog.vue +++ b/frontend/src/components/MemberTransferDialog.vue @@ -122,6 +122,7 @@