fix(review): App-Kontrolle – 3 Funde behoben (v1.4.17)
Komplett-Check nach den UX-Umbauten (Typecheck + Produktions-Build + Code-Review): - Tastenkürzel (V/L/G/...) lösen jetzt ebenfalls die Auto-Bearbeitung aus — vorher umgingen sie ensureEditing und der erste Strich wurde nicht gesynct - ensureEditing feuert nicht mehr mehrfach parallel (editingLoading-Guard) - Onboarding-Tour aktualisiert: Schritt "Bearbeitung starten" (Button existiert nicht mehr) → "Einfach loszeichnen"; Symbol-Schritt erwähnt Tap-to-place Geprüft, ohne Befund: Auto-Save-Gating, Status-Zeile, flache Sidebar, Linientyp-Dialog inkl. Gefahrenzone, Demo-Seite, Produktions-Build (Exit 0). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -396,8 +396,9 @@ export default function AppPage() {
|
||||
const ensureEditing = useCallback(() => {
|
||||
if (!currentProject || presentationLocked || !roleCanEdit) return
|
||||
if (isEditingByMe || editingBy) return // ich zeichne schon / jemand anderes hält den Lock
|
||||
if (editingLoading) return // Lock-Anfrage läuft bereits — nicht doppelt feuern
|
||||
handleStartEditing({ silent: true })
|
||||
}, [currentProject, presentationLocked, roleCanEdit, isEditingByMe, editingBy, handleStartEditing])
|
||||
}, [currentProject, presentationLocked, roleCanEdit, isEditingByMe, editingBy, editingLoading, handleStartEditing])
|
||||
|
||||
// Werkzeugwechsel auf ein Zeichen-Tool übernimmt vorab den Lock (rechtzeitig vor dem Zeichnen)
|
||||
const handleDrawModeChange = useCallback((mode: DrawMode) => {
|
||||
@@ -799,7 +800,7 @@ export default function AppPage() {
|
||||
onRedo: handleRedo,
|
||||
onSave: handleSaveProject,
|
||||
onDelete: handleFeaturesChange,
|
||||
onToolChange: setDrawMode,
|
||||
onToolChange: handleDrawModeChange, // Auto-Bearbeitung greift auch bei Tastenkürzeln
|
||||
onHelpOpen: useCallback(() => setIsShortcutHelpOpen(true), []),
|
||||
})
|
||||
|
||||
|
||||
@@ -34,11 +34,9 @@ const TOUR_STEPS: TourStep[] = [
|
||||
position: 'bottom',
|
||||
},
|
||||
{
|
||||
title: 'Bearbeitung starten',
|
||||
title: 'Einfach loszeichnen',
|
||||
icon: <Lock className="w-5 h-5 text-green-500" />,
|
||||
description: 'Klicke auf «Bearbeitung starten» um die Karte zu bearbeiten. Nur ein Benutzer gleichzeitig kann bearbeiten — andere sehen deine Änderungen live.',
|
||||
targetSelector: '[data-tour="edit-toggle"]',
|
||||
position: 'bottom',
|
||||
description: 'Wähle ein Werkzeug und zeichne los — die Bearbeitung startet automatisch. Zeichnet gerade jemand anderes, siehst du dessen Änderungen live und die Karte ist solange gesperrt.',
|
||||
},
|
||||
{
|
||||
title: 'Zeichenwerkzeuge',
|
||||
@@ -62,9 +60,9 @@ const TOUR_STEPS: TourStep[] = [
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Symbole (Drag & Drop)',
|
||||
title: 'Symbole platzieren',
|
||||
icon: <LayoutGrid className="w-5 h-5 text-orange-500" />,
|
||||
description: 'Rechts findest du taktische Feuerwehr-Symbole. Deine eigenen Symbole stehen zuoberst. Ziehe Symbole per Drag & Drop auf die Karte. Klicke auf ein platziertes Symbol um es zu drehen, skalieren oder löschen.',
|
||||
description: 'Rechts findest du taktische Feuerwehr-Symbole. Deine eigenen Symbole stehen zuoberst. Symbol antippen und dann auf die Karte tippen — oder per Drag & Drop ziehen. Platzierte Symbole kannst du drehen, skalieren oder löschen.',
|
||||
targetSelector: '[data-tour="sidebar"]',
|
||||
position: 'left',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user