From f5be9b9691e2a28d2302d16860cd57dec1beadb2 Mon Sep 17 00:00:00 2001 From: Winston Lowe Date: Mon, 5 Jan 2026 16:41:46 -0800 Subject: [PATCH 1/2] Added Manage Repeater to contact dialog from map view. --- lib/screens/map_screen.dart | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 11fe4e2..1a96dad 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -17,6 +17,9 @@ import '../widgets/quick_switch_bar.dart'; import 'channels_screen.dart'; import 'chat_screen.dart'; import 'contacts_screen.dart'; +//import 'repeater_hub_screen.dart'; +import '../widgets/repeater_login_dialog.dart'; +import 'repeater_hub_screen.dart'; import 'settings_screen.dart'; class MapScreen extends StatefulWidget { @@ -549,6 +552,27 @@ class _MapScreenState extends State { ); } + void _showRepeaterLogin(BuildContext context, Contact repeater) { + showDialog( + context: context, + builder: (context) => RepeaterLoginDialog( + repeater: repeater, + onLogin: (password) { + // Navigate to repeater hub screen after successful login + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => RepeaterHubScreen( + repeater: repeater, + password: password, + ), + ), + ); + }, + ), + ); + } + void _showNodeInfo(BuildContext context, Contact contact) { showDialog( context: context, @@ -593,6 +617,13 @@ class _MapScreenState extends State { }, child: const Text('Open Chat'), ), + if(contact.type == advTypeRepeater) + TextButton( + onPressed: () { + _showRepeaterLogin(context, contact); + }, + child: const Text('Manage Repeater'), + ), ], ), ); From ffbfd1a40cf7fca5b03bccfa807d5aedf23bf324 Mon Sep 17 00:00:00 2001 From: zjs81 Date: Sun, 11 Jan 2026 11:17:23 -0700 Subject: [PATCH 2/2] Refactor Manage Repeater button to close dialog before opening login --- lib/screens/map_screen.dart | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/screens/map_screen.dart b/lib/screens/map_screen.dart index 1a96dad..93c8988 100644 --- a/lib/screens/map_screen.dart +++ b/lib/screens/map_screen.dart @@ -17,7 +17,6 @@ import '../widgets/quick_switch_bar.dart'; import 'channels_screen.dart'; import 'chat_screen.dart'; import 'contacts_screen.dart'; -//import 'repeater_hub_screen.dart'; import '../widgets/repeater_login_dialog.dart'; import 'repeater_hub_screen.dart'; import 'settings_screen.dart'; @@ -617,13 +616,14 @@ class _MapScreenState extends State { }, child: const Text('Open Chat'), ), - if(contact.type == advTypeRepeater) - TextButton( - onPressed: () { - _showRepeaterLogin(context, contact); - }, - child: const Text('Manage Repeater'), - ), + if (contact.type == advTypeRepeater) + TextButton( + onPressed: () { + Navigator.pop(context); + _showRepeaterLogin(context, contact); + }, + child: const Text('Manage Repeater'), + ), ], ), );