mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-24 20:49:28 +00:00
nodes pages fixes
This commit is contained in:
parent
bb397cd3ee
commit
bda4684f50
2 changed files with 36 additions and 29 deletions
|
@ -42,6 +42,9 @@ class ManageNodesPage extends BasePage {
|
||||||
return nodeListViewModel.nodes.length;
|
return nodeListViewModel.nodes.length;
|
||||||
},
|
},
|
||||||
itemBuilder: (_, index) {
|
itemBuilder: (_, index) {
|
||||||
|
if (index > nodeListViewModel.nodes.length - 1) {
|
||||||
|
return SizedBox();
|
||||||
|
}
|
||||||
return Observer(
|
return Observer(
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
final node = nodeListViewModel.nodes[index];
|
final node = nodeListViewModel.nodes[index];
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
import 'package:cake_wallet/generated/i18n.dart';
|
import 'package:cake_wallet/generated/i18n.dart';
|
||||||
import 'package:cake_wallet/routes.dart';
|
import 'package:cake_wallet/routes.dart';
|
||||||
import 'package:cake_wallet/src/screens/base_page.dart';
|
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/nodes/widgets/node_list_row.dart';
|
|
||||||
import 'package:cake_wallet/src/screens/nodes/widgets/pow_node_list_row.dart';
|
import 'package:cake_wallet/src/screens/nodes/widgets/pow_node_list_row.dart';
|
||||||
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
|
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
|
||||||
import 'package:cake_wallet/src/widgets/standard_list.dart';
|
import 'package:cake_wallet/src/widgets/standard_list.dart';
|
||||||
import 'package:cake_wallet/utils/show_pop_up.dart';
|
import 'package:cake_wallet/utils/show_pop_up.dart';
|
||||||
import 'package:cake_wallet/view_model/node_list/node_list_view_model.dart';
|
|
||||||
import 'package:cake_wallet/view_model/node_list/pow_node_list_view_model.dart';
|
import 'package:cake_wallet/view_model/node_list/pow_node_list_view_model.dart';
|
||||||
import 'package:cw_core/node.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_mobx/flutter_mobx.dart';
|
import 'package:flutter_mobx/flutter_mobx.dart';
|
||||||
|
|
||||||
|
@ -45,36 +42,43 @@ class ManagePowNodesPage extends BasePage {
|
||||||
return nodeListViewModel.nodes.length;
|
return nodeListViewModel.nodes.length;
|
||||||
},
|
},
|
||||||
itemBuilder: (_, index) {
|
itemBuilder: (_, index) {
|
||||||
final node = nodeListViewModel.nodes[index];
|
return Observer(
|
||||||
final isSelected = node.keyIndex == nodeListViewModel.currentNode.keyIndex;
|
builder: (context) {
|
||||||
final nodeListRow = PowNodeListRow(
|
if (index > nodeListViewModel.nodes.length - 1) {
|
||||||
title: node.uriRaw,
|
return SizedBox();
|
||||||
node: node,
|
|
||||||
isSelected: isSelected,
|
|
||||||
onTap: (_) async {
|
|
||||||
if (isSelected) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
final node = nodeListViewModel.nodes[index];
|
||||||
|
final isSelected = node.keyIndex == nodeListViewModel.currentNode.keyIndex;
|
||||||
|
final nodeListRow = PowNodeListRow(
|
||||||
|
title: node.uriRaw,
|
||||||
|
node: node,
|
||||||
|
isSelected: isSelected,
|
||||||
|
onTap: (_) async {
|
||||||
|
if (isSelected) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
await showPopUp<void>(
|
await showPopUp<void>(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return AlertWithTwoActions(
|
return AlertWithTwoActions(
|
||||||
alertTitle: S.of(context).change_current_node_title,
|
alertTitle: S.of(context).change_current_node_title,
|
||||||
alertContent: nodeListViewModel.getAlertContent(node.uriRaw),
|
alertContent: nodeListViewModel.getAlertContent(node.uriRaw),
|
||||||
leftButtonText: S.of(context).cancel,
|
leftButtonText: S.of(context).cancel,
|
||||||
rightButtonText: S.of(context).change,
|
rightButtonText: S.of(context).change,
|
||||||
actionLeftButton: () => Navigator.of(context).pop(),
|
actionLeftButton: () => Navigator.of(context).pop(),
|
||||||
actionRightButton: () async {
|
actionRightButton: () async {
|
||||||
await nodeListViewModel.setAsCurrent(node);
|
await nodeListViewModel.setAsCurrent(node);
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
return nodeListRow;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
return nodeListRow;
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue