Repository navigation
refactor: confirmDestructive()-Helper statt dreifach kopiertem Web/Native-Dialog (#360) - #369
Merged
Merged
Conversation
…tive-Dialog (#360) - utils/platform.ts: confirmDestructive({ title, message, confirmLabel, cancelLabel, onConfirm }) — window.confirm im Web, Alert.alert mit destruktivem Button nativ - creative.tsx, gallery.tsx, DrawPhase.tsx: eigene Web/Native-Verzweigungen, // platform-safe-Kommentare und ungenutzte Platform/Alert-Imports entfernt - SoundManager, SentryService: isWeb statt Platform.OS; redundanter Web-Check in den Haptics-Guards entfällt (Haptics wird nur nativ geladen) - Tests: Web- und Native-Zweig des Helpers (isoliert pro Plattform) ReviewManager und ParentalGate bleiben bewusst bei Platform.OS (Laufzeit- Check, ihre Tests setzen Platform.OS dynamisch). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017fxbsNALrmwMj7LGMDPLw2
🔀 Mergeability-Report✅ Konfliktfrei mergebar ( CI-Checks: ✅ keine fehlgeschlagenen Checks ⏳ 🔧 Platform Compatibility Merge-Checkliste
Kostenlos generiert von reusable-mergeability.yml · keine API-Kosten · review-gate: |
5 of 10 tasks
Konflikt nur in CHANGELOG.md (beide PRs ergänzen einen Eintrag unter "Changed"): beide Einträge behalten. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017fxbsNALrmwMj7LGMDPLw2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Closes #360
Beschreibung
Der Bestätigungsdialog vor einer destruktiven Aktion stand dreimal wortgleich im Code (
window.confirmim Web,Alert.alertmit Abbrechen- und destruktivem Button nativ), jeweils mit// platform-safe-Kommentar.Änderung
confirmDestructive({ title, message, confirmLabel, cancelLabel, onConfirm })inutils/platform.ts, der zentralen Stelle für Plattform-Checks.app/creative.tsx(Zeichnung löschen),app/gallery.tsx(Galerie-Eintrag löschen),components/game/DrawPhase.tsx(Zeichnung löschen). Dabei entfallen die eigenen Verzweigungen, die// platform-safe-Kommentare und die dadurch ungenutztenPlatform/Alert-Imports.SoundManagerundSentryServicenutzenisWebstatt direkterPlatform.OS-Checks. Der redundante Web-Check in den Haptics-Guards entfällt, weilHapticsohnehin nur nativ geladen wird.ReviewManagerundParentalGate. Beide prüfenPlatform.OSzur Laufzeit, und die Tests vonReviewManagersetzenPlatform.OSdynamisch.isWebist eine beim Import feste Konstante, die Umstellung würde diese Tests brechen. Das Verhalten soll sich nirgends ändern.Art der Änderung
Cross-Platform Kompatibilität
Betrifft dieser PR plattformspezifischen Code? Ja, der Helper kapselt ihn zentral.
window.confirmsteht dort hinterisWebmit// platform-safe.Testing Checklist
--noUnusedLocalsin den geänderten Dateien), keine ESLint Warnings, Prettier saubernpm run test:ci: 472/472 grünonConfirmerst beim Tippen auf den Bestätigen-Button). Das Modul wird dafür pro Plattform isoliert geladen./creative, Playwright) geprüft: Strich zeichnen → „Alles löschen“. Abbrechen lässt die Zeichnung unverändert, Bestätigen leert die Fläche, und der Dialogtext ist „Wirklich alles löschen?“.Alert.alertmanuell nicht getestet; abgedeckt nur durch den Unit-Test des HelpersGenerated by Claude Code