88using OpenClawTray . Controls ;
99using OpenClawTray . Helpers ;
1010using OpenClawTray . Services ;
11+ using OpenClawTray . Windows ;
1112using System ;
1213using System . Collections . Generic ;
1314using System . ComponentModel ;
@@ -34,6 +35,8 @@ public sealed partial class ConfigPage : Page
3435 private ConfigEditorSnapshot _editSnapshot = ConfigEditorSnapshot . Empty ;
3536 private IOperatorGatewayClient ? _permissionClient ;
3637
38+ private string ? _backOriginTag ;
39+
3740 private string _selectedPath = "" ;
3841 private string _searchText = "" ;
3942 private bool _showSchemaFallback ;
@@ -106,6 +109,7 @@ public void Initialize()
106109
107110 _appState = CurrentApp . AppState ! ;
108111 _appState . PropertyChanged += OnAppStateChanged ;
112+ RefreshBackOriginLink ( ) ;
109113 SubscribePermissionClient ( CurrentApp . GatewayClient ) ;
110114 Logger . Info ( "[ConfigPage] Initialize" ) ;
111115 if ( CompleteReconnectIfReady ( ) )
@@ -124,6 +128,27 @@ public void Initialize()
124128 }
125129 }
126130
131+ private void RefreshBackOriginLink ( )
132+ {
133+ var hub = CurrentApp . ActiveHubWindow as HubWindow ;
134+ var origin = hub ? . LastNavigationOrigin ;
135+ if ( string . IsNullOrEmpty ( origin ) )
136+ {
137+ _backOriginTag = null ;
138+ BackOriginLink . Visibility = Visibility . Collapsed ;
139+ return ;
140+ }
141+ _backOriginTag = origin ;
142+ BackOriginText . Text = NavOriginLabels . BackToLabel ( origin ) ;
143+ BackOriginLink . Visibility = Visibility . Visible ;
144+ }
145+
146+ private void OnBackOriginClicked ( object sender , RoutedEventArgs e )
147+ {
148+ if ( ! string . IsNullOrEmpty ( _backOriginTag ) )
149+ ( ( IAppCommands ) CurrentApp ) . Navigate ( _backOriginTag ) ;
150+ }
151+
127152 public void UpdateConfig ( JsonElement config )
128153 {
129154 var configSnapshot = config . Clone ( ) ;
@@ -650,7 +675,7 @@ private void OnResetSection(object sender, RoutedEventArgs e)
650675
651676 private void OnOpenConnection ( object sender , RoutedEventArgs e )
652677 {
653- ( ( IAppCommands ) CurrentApp ) . Navigate ( "connection" ) ;
678+ ( ( IAppCommands ) CurrentApp ) . Navigate ( "connection" , "config" ) ;
654679 }
655680
656681 private void OnOpenDashboard ( object sender , RoutedEventArgs e )
0 commit comments