From f5be9b9691e2a28d2302d16860cd57dec1beadb2 Mon Sep 17 00:00:00 2001 From: Winston Lowe Date: Mon, 5 Jan 2026 16:41:46 -0800 Subject: [PATCH] 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'), + ), ], ), );