mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-03-22 15:19:11 +00:00
FROST Multisig settings buttons mobile and desktop
This commit is contained in:
parent
f558703253
commit
809cbe6195
2 changed files with 75 additions and 1 deletions
|
@ -22,6 +22,7 @@ import 'package:stackwallet/pages/pinpad_views/lock_screen_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_views/debug_view.dart';
|
import 'package:stackwallet/pages/settings_views/global_settings_view/advanced_views/debug_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart';
|
import 'package:stackwallet/pages/settings_views/global_settings_view/syncing_preferences_views/syncing_preferences_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/sub_widgets/settings_list_button.dart';
|
import 'package:stackwallet/pages/settings_views/sub_widgets/settings_list_button.dart';
|
||||||
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/frost_ms/frost_ms_options_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_backup_views/wallet_backup_view.dart';
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_backup_views/wallet_backup_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart';
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/change_representative_view.dart';
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/change_representative_view.dart';
|
||||||
|
@ -194,6 +195,21 @@ class _WalletSettingsViewState extends ConsumerState<WalletSettingsView> {
|
||||||
padding: const EdgeInsets.all(4),
|
padding: const EdgeInsets.all(4),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
|
if (coin == Coin.bitcoinFrost ||
|
||||||
|
coin == Coin.bitcoinFrostTestNet)
|
||||||
|
if (coin == Coin.bitcoinFrost ||
|
||||||
|
coin == Coin.bitcoinFrostTestNet)
|
||||||
|
SettingsListButton(
|
||||||
|
iconAssetName: Assets.svg.addressBook2,
|
||||||
|
iconSize: 16,
|
||||||
|
title: "FROST Multisig settings",
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
FrostMSWalletOptionsView.routeName,
|
||||||
|
arguments: walletId,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
SettingsListButton(
|
SettingsListButton(
|
||||||
iconAssetName: Assets.svg.addressBook,
|
iconAssetName: Assets.svg.addressBook,
|
||||||
iconSize: 16,
|
iconSize: 16,
|
||||||
|
|
|
@ -14,6 +14,7 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/frost_ms/frost_ms_options_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/change_representative_view.dart';
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/change_representative_view.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/xpub_view.dart';
|
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_wallet_settings/xpub_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/addresses/desktop_wallet_addresses_view.dart';
|
||||||
|
@ -34,7 +35,8 @@ enum _WalletOptions {
|
||||||
changeRepresentative,
|
changeRepresentative,
|
||||||
showXpub,
|
showXpub,
|
||||||
lelantusCoins,
|
lelantusCoins,
|
||||||
sparkCoins;
|
sparkCoins,
|
||||||
|
frostOptions;
|
||||||
|
|
||||||
String get prettyName {
|
String get prettyName {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
|
@ -50,6 +52,8 @@ enum _WalletOptions {
|
||||||
return "Lelantus Coins";
|
return "Lelantus Coins";
|
||||||
case _WalletOptions.sparkCoins:
|
case _WalletOptions.sparkCoins:
|
||||||
return "Spark Coins";
|
return "Spark Coins";
|
||||||
|
case _WalletOptions.frostOptions:
|
||||||
|
return "FROST settings";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,6 +100,9 @@ class WalletOptionsButton extends StatelessWidget {
|
||||||
onFiroShowSparkCoins: () async {
|
onFiroShowSparkCoins: () async {
|
||||||
Navigator.of(context).pop(_WalletOptions.sparkCoins);
|
Navigator.of(context).pop(_WalletOptions.sparkCoins);
|
||||||
},
|
},
|
||||||
|
onFrostMSWalletOptionsPressed: () async {
|
||||||
|
Navigator.of(context).pop(_WalletOptions.frostOptions);
|
||||||
|
},
|
||||||
walletId: walletId,
|
walletId: walletId,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
@ -207,6 +214,15 @@ class WalletOptionsButton extends StatelessWidget {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case _WalletOptions.frostOptions:
|
||||||
|
unawaited(
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
FrostMSWalletOptionsView.routeName,
|
||||||
|
arguments: walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -241,6 +257,7 @@ class WalletOptionsPopupMenu extends ConsumerWidget {
|
||||||
required this.onChangeRepPressed,
|
required this.onChangeRepPressed,
|
||||||
required this.onFiroShowLelantusCoins,
|
required this.onFiroShowLelantusCoins,
|
||||||
required this.onFiroShowSparkCoins,
|
required this.onFiroShowSparkCoins,
|
||||||
|
required this.onFrostMSWalletOptionsPressed,
|
||||||
required this.walletId,
|
required this.walletId,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@ -250,6 +267,7 @@ class WalletOptionsPopupMenu extends ConsumerWidget {
|
||||||
final VoidCallback onChangeRepPressed;
|
final VoidCallback onChangeRepPressed;
|
||||||
final VoidCallback onFiroShowLelantusCoins;
|
final VoidCallback onFiroShowLelantusCoins;
|
||||||
final VoidCallback onFiroShowSparkCoins;
|
final VoidCallback onFiroShowSparkCoins;
|
||||||
|
final VoidCallback onFrostMSWalletOptionsPressed;
|
||||||
final String walletId;
|
final String walletId;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -265,6 +283,9 @@ class WalletOptionsPopupMenu extends ConsumerWidget {
|
||||||
|
|
||||||
final bool canChangeRep = coin == Coin.nano || coin == Coin.banano;
|
final bool canChangeRep = coin == Coin.nano || coin == Coin.banano;
|
||||||
|
|
||||||
|
final bool isFrost =
|
||||||
|
coin == Coin.bitcoinFrost || coin == Coin.bitcoinFrostTestNet;
|
||||||
|
|
||||||
return Stack(
|
return Stack(
|
||||||
children: [
|
children: [
|
||||||
Positioned(
|
Positioned(
|
||||||
|
@ -429,6 +450,43 @@ class WalletOptionsPopupMenu extends ConsumerWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
if (isFrost)
|
||||||
|
const SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
if (isFrost)
|
||||||
|
TransparentButton(
|
||||||
|
onPressed: onFrostMSWalletOptionsPressed,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
SvgPicture.asset(
|
||||||
|
Assets.svg.addressBookDesktop,
|
||||||
|
width: 20,
|
||||||
|
height: 20,
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textFieldActiveSearchIconLeft,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 14),
|
||||||
|
Expanded(
|
||||||
|
child: Text(
|
||||||
|
_WalletOptions.frostOptions.prettyName,
|
||||||
|
style: STextStyles.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textDark,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
if (xpubEnabled)
|
if (xpubEnabled)
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 8,
|
height: 8,
|
||||||
|
|
Loading…
Reference in a new issue