mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
* Update display_settings_page.dart * Update settings_choices_cell.dart * Update settings_theme_choice.dart * Convert display_settings_page.dart to NewListSection * Cleanup [skip ci] * Minor * Minor [skip ci] * Add SizedBox to scroll view * Upgrade receive_top_bar.dart with gradient and optional child content * Adjust animations * Add modal_page_wrapper.dart * Add option to hide AppBar for BasePage [skip ci] * New settings all final (#3067) * Conflict * ModalPageWrapper improved abstraction * display_settings_page.dart minor update * connection_sync_page.dart redesign * Conflict * manage_nodes_page.dart initial redesign * other settings initial * Conflict * add optional subtitle to standard_list.dart * add connection_sync_view_model.dart * Add missing images * Conflict * Update list item widgets * Conflict * Conflict * Conflict * minor updates * Conflict * Fixes + move Mweb to privacy page * Conflict * Remove observer from modal_page_wrapper.dart * Conflict * Conflict * Refactor settings_page.dart with suggestions * Suggestion fixes * Conflicts + fix About page * Fix sync bar conflict * Update Connections page title [skip ci] * Trigger CI * Fix Lightning and Payjoin log export * Update MWEB node page * Add FeatureFlag to AutomaticNodeSwitching * Fix address text on privacy_page.dart * Move WalletConnect from connection_sync_page.dart to settings_page.dart * Add WalletConnect icon * Fix settings icons * Make text strings use S.of(context) and fix About string in settings_page.dart * Display settings page fixes * modal_page_wrapper.dart minor suggestions * Missingimage * Add spacing to list_item_selector_widget.dart * Fix error on manage_nodes_page.dart
65 lines
2.3 KiB
Dart
65 lines
2.3 KiB
Dart
import 'package:cake_wallet/core/node_address_validator.dart';
|
|
import 'package:cake_wallet/entities/new_ui_entities/list_item/list_item_text_field.dart';
|
|
import 'package:cake_wallet/new-ui/widgets/modal_page_wrapper.dart';
|
|
import 'package:cake_wallet/new-ui/widgets/receive_page/receive_top_bar.dart';
|
|
import 'package:cake_wallet/src/widgets/new_list_row/new_list_section.dart';
|
|
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
|
import 'package:cake_wallet/view_model/settings/mweb_settings_view_model.dart';
|
|
import 'package:flutter/material.dart';
|
|
class MwebNodePage extends StatefulWidget {
|
|
const MwebNodePage(this.mwebSettingsViewModelBase, {super.key});
|
|
|
|
final MwebSettingsViewModelBase mwebSettingsViewModelBase;
|
|
|
|
@override
|
|
State<MwebNodePage> createState() => _MwebNodePageState();
|
|
}
|
|
|
|
class _MwebNodePageState extends State<MwebNodePage> {
|
|
late final TextEditingController _nodeUriController =
|
|
TextEditingController(text: widget.mwebSettingsViewModelBase.mwebNodeUri);
|
|
|
|
@override
|
|
void dispose() {
|
|
_nodeUriController.dispose();
|
|
super.dispose();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return ModalPageWrapper(
|
|
topBar: ModalTopBar(
|
|
title: S.current.litecoin_mweb_settings,
|
|
onLeadingPressed: Navigator.of(context).pop,
|
|
leadingIcon: Icon(Icons.arrow_back_ios_new)),
|
|
content: Container(
|
|
child: NewListSections(
|
|
controllers: {
|
|
widget.mwebSettingsViewModelBase.mwebNodeUri: _nodeUriController,
|
|
},
|
|
sections: {
|
|
'main': [
|
|
ListItemTextField(
|
|
keyValue: widget.mwebSettingsViewModelBase.mwebNodeUri,
|
|
label: S.current.node_address,
|
|
validator: NodePathValidator(),
|
|
),
|
|
]
|
|
}),
|
|
),
|
|
bottomContent: LoadingPrimaryButton(
|
|
onPressed: () => save(context),
|
|
text: S.of(context).save,
|
|
color: Theme.of(context).colorScheme.primary,
|
|
textColor: Theme.of(context).colorScheme.onPrimary,
|
|
),
|
|
);
|
|
}
|
|
|
|
void save(BuildContext context) {
|
|
widget.mwebSettingsViewModelBase.setMwebNodeUri(_nodeUriController.text);
|
|
Navigator.pop(context);
|
|
}
|
|
}
|