diff --git a/flutter/lib/desktop/pages/desktop_setting_page.dart b/flutter/lib/desktop/pages/desktop_setting_page.dart index 578b63b20..af0622c1a 100644 --- a/flutter/lib/desktop/pages/desktop_setting_page.dart +++ b/flutter/lib/desktop/pages/desktop_setting_page.dart @@ -519,7 +519,9 @@ class _SafetyState extends State<_Safety> with AutomaticKeepAliveClientMixin { } Widget changeId() { - return _Button('Change ID', changeIdDialog, enabled: !locked); + final serverModel = Provider.of(context); + return _Button('Change ID', changeIdDialog, + enabled: !locked && serverModel.connectStatus > 0); } Widget permissions(context) { diff --git a/flutter/lib/mobile/pages/server_page.dart b/flutter/lib/mobile/pages/server_page.dart index ae61c91a7..3b8b4ea82 100644 --- a/flutter/lib/mobile/pages/server_page.dart +++ b/flutter/lib/mobile/pages/server_page.dart @@ -25,8 +25,10 @@ class ServerPage extends StatefulWidget implements PageShape { PopupMenuButton( icon: const Icon(Icons.more_vert), itemBuilder: (context) { + final serverModel = Provider.of(context); return [ PopupMenuItem( + enabled: serverModel.connectStatus > 0, padding: const EdgeInsets.symmetric(horizontal: 16.0), value: "changeID", child: Text(translate("Change ID")), diff --git a/src/ui/index.tis b/src/ui/index.tis index 88833b887..1bed96985 100644 --- a/src/ui/index.tis +++ b/src/ui/index.tis @@ -316,7 +316,7 @@ class MyIdMenu: Reactor.Component { {username ?
  • {translate('Logout')} ({username})
  • :
  • {translate('Login')}
  • } - {handler.is_ok_change_id() && key_confirmed ?
  • {translate('Change ID')}
  • : ""} + {handler.is_ok_change_id() && key_confirmed && connect_status > 0 ?
  • {translate('Change ID')}
  • : ""}
  • {svg_checkmark}{translate('Dark Theme')}
  • @@ -1117,6 +1117,7 @@ function checkConnectStatus() { if (tmp[0] != connect_status) { connect_status = tmp[0]; app.connect_status.update(); + myIdMenu.update(); } if (tmp[1] != key_confirmed) { key_confirmed = tmp[1];