feat: Add debug logging for drawing navigation and toolbar actions

This commit is contained in:
Janez T
2025-10-23 20:29:51 +02:00
parent 1688d6f538
commit 795f223fe8
3 changed files with 29 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart';
import 'package:latlong2/latlong.dart';
import '../models/location_trail.dart';
import '../models/map_drawing.dart';
class MapProvider with ChangeNotifier {
LatLng? _targetLocation;
@@ -46,8 +47,10 @@ class MapProvider with ChangeNotifier {
/// Navigate to a drawing by its ID
void navigateToDrawing(String drawingId, dynamic drawingProvider) {
debugPrint('🗺️ [MapProvider] navigateToDrawing called with ID: $drawingId');
// Find the drawing in the provider
final drawings = drawingProvider.drawings as List;
debugPrint('🗺️ [MapProvider] Total drawings in provider: ${drawings.length}');
final drawing = drawings.cast<dynamic>().firstWhere(
(d) => d.id == drawingId,
orElse: () => null,
@@ -55,6 +58,7 @@ class MapProvider with ChangeNotifier {
if (drawing == null) {
debugPrint('⚠️ [MapProvider] Drawing $drawingId not found');
debugPrint('⚠️ [MapProvider] Available drawing IDs: ${drawings.map((d) => d.id).toList()}');
return;
}
@@ -90,7 +94,8 @@ class MapProvider with ChangeNotifier {
zoom = 10.0;
}
debugPrint('🗺️ [MapProvider] Navigating to drawing: ${drawing.type.name}, zoom: $zoom');
final typeStr = drawing is LineDrawing ? 'line' : 'rectangle';
debugPrint('🗺️ [MapProvider] Navigating to drawing: $typeStr, zoom: $zoom');
navigateToLocation(location: center, zoom: zoom, animate: true);
}

View File

@@ -694,6 +694,7 @@ class _MessagesTabState extends State<MessagesTab> {
}
: message.isDrawing && message.drawingId != null
? () {
debugPrint('🗺️ [MessagesTab] Drawing tapped! ID: ${message.drawingId}');
final mapProvider = context
.read<MapProvider>();
final drawingProvider = context
@@ -1333,6 +1334,14 @@ class _MessageBubble extends StatelessWidget {
debugPrint(' sarMarkerType: ${message.sarMarkerType}');
}
if (message.text.startsWith('D:')) {
debugPrint('🎨 [MessageBubble] Rendering drawing message:');
debugPrint(' Text: ${message.text.substring(0, message.text.length > 50 ? 50 : message.text.length)}...');
debugPrint(' isDrawing: ${message.isDrawing}');
debugPrint(' drawingId: ${message.drawingId}');
debugPrint(' onTap is null: ${onTap == null}');
}
return GestureDetector(
onTap: onTap,
onLongPress: () => _showMessageOptions(context),

View File

@@ -377,6 +377,13 @@ class DrawingToolbar extends StatelessWidget {
);
if (!connectionProvider.deviceInfo.isConnected) {
debugPrint(' ❌ Not connected - showing error toast');
if (context.mounted) {
ToastLogger.error(
context,
AppLocalizations.of(context)!.notConnectedToDevice,
);
}
return;
}
@@ -390,6 +397,13 @@ class DrawingToolbar extends StatelessWidget {
debugPrint(' Total drawings count: ${drawingProvider.drawings.length}');
if (unsharedDrawings.isEmpty) {
debugPrint(' No unshared drawings - showing info toast');
if (context.mounted) {
ToastLogger.info(
context,
'All drawings have already been shared',
);
}
return;
}