devibe changelog, hide "view on osm" for pending nodes that aren't real yet

This commit is contained in:
stopflock
2025-12-02 19:23:20 -06:00
parent 5043ef3e34
commit a0601cd6ae
2 changed files with 15 additions and 10 deletions

View File

@@ -5,10 +5,9 @@
"• Download area max zoom level is now limited to the currently selected tile provider's maximum zoom level",
"• Navigation route planning now prevents selecting start and end locations that are too close together",
"• Cleaned up internal 'maxCameras' references to use 'maxNodes' terminology consistently",
"• FIXED: Proximity warnings now consider pending nodes - prevents submitting multiple nodes at the same location without warning",
"• FIXED: Deleting queue items now only removes that specific item, not all pending nodes at the same location",
"• FIXED: Pending nodes now reappear on the map after app restart - queue items repopulate the visual cache on startup",
"• NEW: Upload queue screen shows when processing is paused (offline mode or manually paused)"
"• Proximity warnings now consider pending nodes - prevents submitting multiple nodes at the same location without warning",
"• Pending nodes now reappear on the map after app restart - queue items repopulate the visual cache on startup",
"• Upload queue screen shows when processing is paused (offline mode or manually paused)"
]
},
"1.5.3": {

View File

@@ -36,6 +36,10 @@ class NodeTagSheet extends StatelessWidget {
(!node.tags.containsKey('_pending_deletion') ||
node.tags['_pending_deletion'] != 'true');
// Check if this is a real OSM node (not pending) - for "View on OSM" button
final isRealOSMNode = !node.tags.containsKey('_pending_upload') &&
node.id > 0; // Real OSM nodes have positive IDs
void _openEditSheet() {
// Check if node limit is active and warn user
if (isNodeLimitActive) {
@@ -195,12 +199,14 @@ class NodeTagSheet extends StatelessWidget {
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
TextButton.icon(
onPressed: () => _viewOnOSM(),
icon: const Icon(Icons.open_in_new, size: 16),
label: Text(locService.t('actions.viewOnOSM')),
),
const SizedBox(width: 8),
if (isRealOSMNode) ...[
TextButton.icon(
onPressed: () => _viewOnOSM(),
icon: const Icon(Icons.open_in_new, size: 16),
label: Text(locService.t('actions.viewOnOSM')),
),
const SizedBox(width: 8),
],
if (isEditable) ...[
OutlinedButton.icon(
onPressed: _openAdvancedEdit,