You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor: Bestätigungsdialog (web/native) ist 3× kopiert → confirmDestructive()-Helper #360
components/game/DrawPhase.tsx (Zeichnung löschen; Text und Buttons wortgleich mit creative.tsx)
Kosten: etwa 15 Zeilen × 3, drei Web/Native-Verzweigungen außerhalb der Plattform-Schicht und drei // platform-safe-Ausnahmekommentare. Dabei ist utils/platform.ts laut eigener Beschreibung die zentrale Stelle für Plattform-Checks.
Vorschlag
confirmDestructive({ title, message, confirmLabel, cancelLabel, onConfirm }) in utils/platform.ts anlegen. Auf Web läuft es über window.confirm, auf Native über Alert.alert mit style: 'destructive'.
Die drei Aufrufstellen umstellen. Die dann überflüssigen Platform-Imports entfallen.
Den Helper testen: Web-Zweig und Native-Zweig mit gemocktem Alert.
Optional im selben Zug: Die übrigen direkten Platform.OS === 'web'-Checks (SoundManager, SentryService, ReviewManager) auf isWeb aus utils/platform.ts umstellen.
Kontext
Gefunden im Simplify-Audit (#356). Dort ausgelassen, weil ein neuer Helper samt Tests über ein kleines Refactoring hinausgeht.
Activity