Add CompassSarList widget and refactor DetailedCompassDialog

- Introduced CompassSarList widget to display filtered SAR markers with distance and bearing information.
- Refactored DetailedCompassDialog to integrate CompassSarList and CompassContactList for better organization.
- Removed the previous filter dialog implementation and replaced it with a more modular CompassFilters widget.
- Simplified the handling of zoom and scale updates in the compass view.
- Cleaned up unused code related to previous implementations of contact and SAR marker lists.
This commit is contained in:
Janez T
2025-10-15 10:30:21 +02:00
parent 8af96c3fec
commit e831612a1a
15 changed files with 3261 additions and 3055 deletions

View File

@@ -580,6 +580,28 @@ class ContactTile extends StatelessWidget {
),
),
),
const SizedBox(height: 12),
SizedBox(
width: double.infinity,
child: OutlinedButton.icon(
onPressed: () {
connectionProvider.resetPath(contact.publicKey);
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Path reset for ${contact.displayName}. Next message will find a new route.'),
duration: const Duration(seconds: 3),
),
);
},
icon: const Icon(Icons.route),
label: const Text('Reset Path (Re-route)'),
style: OutlinedButton.styleFrom(
padding: const EdgeInsets.symmetric(vertical: 14),
side: BorderSide(color: _getTypeColor(contact.type, context)),
foregroundColor: _getTypeColor(contact.type, context),
),
),
),
],
// Room Login button for room contacts (except Public Channel)
if (contact.type == ContactType.room && contact.advName != 'Public Channel') ...[