From 045852ec4d11d4716862c6a0c8deae7fc760adcc Mon Sep 17 00:00:00 2001 From: Serhii Date: Thu, 30 Mar 2023 15:43:34 +0300 Subject: [PATCH 1/3] fix fresh install bug --- lib/di.dart | 3 +-- .../node_list/node_create_or_edit_view_model.dart | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/di.dart b/lib/di.dart index 0b8407cf5..63268dcc5 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -560,8 +560,7 @@ Future setup( (WalletType? type, _) => NodeCreateOrEditViewModel( _nodeSource, type ?? getIt.get().wallet!.type, - getIt.get(), - getIt.get() + getIt.get() )); getIt.registerFactoryParam( diff --git a/lib/view_model/node_list/node_create_or_edit_view_model.dart b/lib/view_model/node_list/node_create_or_edit_view_model.dart index d5171a915..f84d9dfd4 100644 --- a/lib/view_model/node_list/node_create_or_edit_view_model.dart +++ b/lib/view_model/node_list/node_create_or_edit_view_model.dart @@ -13,8 +13,7 @@ class NodeCreateOrEditViewModel = NodeCreateOrEditViewModelBase with _$NodeCreateOrEditViewModel; abstract class NodeCreateOrEditViewModelBase with Store { - NodeCreateOrEditViewModelBase(this._nodeSource, this._walletType, this._settingsStore, - this.nodeListViewModel) + NodeCreateOrEditViewModelBase(this._nodeSource, this._walletType, this._settingsStore) : state = InitialExecutionState(), connectionState = InitialExecutionState(), useSSL = false, @@ -68,7 +67,6 @@ abstract class NodeCreateOrEditViewModelBase with Store { final WalletType _walletType; final Box _nodeSource; final SettingsStore _settingsStore; - final NodeListViewModel nodeListViewModel; @action void reset() { @@ -103,7 +101,7 @@ abstract class NodeCreateOrEditViewModelBase with Store { try { state = IsExecutingState(); if (editingNode != null) { - await nodeListViewModel.delete(editingNode); + await _nodeSource.delete(editingNode.key); } final node = Node(uri: uri, type: _walletType, login: login, password: password, From 1ff4b9bf88a37481de37c6ebee7ba9d41f0858a9 Mon Sep 17 00:00:00 2001 From: Serhii Date: Thu, 30 Mar 2023 18:39:43 +0300 Subject: [PATCH 2/3] fix node editing --- lib/src/screens/nodes/widgets/node_form.dart | 4 ++-- .../node_create_or_edit_view_model.dart | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/src/screens/nodes/widgets/node_form.dart b/lib/src/screens/nodes/widgets/node_form.dart index f8fc55803..3ea13a7eb 100644 --- a/lib/src/screens/nodes/widgets/node_form.dart +++ b/lib/src/screens/nodes/widgets/node_form.dart @@ -22,8 +22,8 @@ class NodeForm extends StatelessWidget { nodeViewModel ..setAddress((editingNode!.uri.host.toString())) ..setPort((editingNode!.uri.port.toString())) - ..setPassword((editingNode!.password.toString())) - ..setLogin((editingNode!.login.toString())) + ..setPassword((editingNode?.password ?? '')) + ..setLogin((editingNode?.login ?? '')) ..setSSL((editingNode!.isSSL)) ..setTrusted((editingNode!.trusted)); } diff --git a/lib/view_model/node_list/node_create_or_edit_view_model.dart b/lib/view_model/node_list/node_create_or_edit_view_model.dart index f84d9dfd4..5b94aaf6d 100644 --- a/lib/view_model/node_list/node_create_or_edit_view_model.dart +++ b/lib/view_model/node_list/node_create_or_edit_view_model.dart @@ -98,16 +98,20 @@ abstract class NodeCreateOrEditViewModelBase with Store { @action Future save({Node? editingNode, bool saveAsCurrent = false}) async { + final node = Node( + uri: uri, + type: _walletType, + login: login, + password: password, + useSSL: useSSL, + trusted: trusted); try { state = IsExecutingState(); if (editingNode != null) { - await _nodeSource.delete(editingNode.key); + await _nodeSource.put(editingNode.key, node); + } else { + await _nodeSource.add(node); } - final node = - Node(uri: uri, type: _walletType, login: login, password: password, - useSSL: useSSL, trusted: trusted); - await _nodeSource.add(node); - if (saveAsCurrent) { _settingsStore.nodes[_walletType] = node; } From ca638ebd71db42fafeffb67dbaf67ed07bad9646 Mon Sep 17 00:00:00 2001 From: Serhii Date: Fri, 31 Mar 2023 15:52:47 +0300 Subject: [PATCH 3/3] [skip ci] minor fix --- lib/src/screens/nodes/widgets/node_form.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/screens/nodes/widgets/node_form.dart b/lib/src/screens/nodes/widgets/node_form.dart index 3ea13a7eb..cf964d420 100644 --- a/lib/src/screens/nodes/widgets/node_form.dart +++ b/lib/src/screens/nodes/widgets/node_form.dart @@ -22,8 +22,8 @@ class NodeForm extends StatelessWidget { nodeViewModel ..setAddress((editingNode!.uri.host.toString())) ..setPort((editingNode!.uri.port.toString())) - ..setPassword((editingNode?.password ?? '')) - ..setLogin((editingNode?.login ?? '')) + ..setPassword((editingNode!.password ?? '')) + ..setLogin((editingNode!.login ?? '')) ..setSSL((editingNode!.isSSL)) ..setTrusted((editingNode!.trusted)); }