mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-21 06:18:42 +02:00
sp improvements (#2418)
* feat: show sp keys * fix: merge fixes * feat: show sp receive address on tx details page * feat(keys): show silent payment keys tab & keys tab * Update lib/src/screens/wallet_keys/wallet_keys_page.dart --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:cake_wallet/entities/qr_view_data.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||
import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.dart';
|
||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||
import 'package:cake_wallet/src/widgets/seedphrase_grid_widget.dart';
|
||||
import 'package:cake_wallet/src/widgets/text_info_box.dart';
|
||||
@@ -67,6 +68,7 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
with SingleTickerProviderStateMixin {
|
||||
late TabController _tabController;
|
||||
late bool showKeyTab;
|
||||
late bool showSilentPaymentsTab;
|
||||
late bool showLegacySeedTab;
|
||||
late bool isLegacySeedOnly;
|
||||
|
||||
@@ -79,10 +81,15 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
super.initState();
|
||||
|
||||
showKeyTab = widget.walletKeysViewModel.items.isNotEmpty;
|
||||
showSilentPaymentsTab =
|
||||
widget.walletKeysViewModel.isBitcoin && widget.walletKeysViewModel.items.length > 4;
|
||||
showLegacySeedTab = widget.walletKeysViewModel.legacySeedSplit.isNotEmpty;
|
||||
isLegacySeedOnly = widget.walletKeysViewModel.isLegacySeedOnly;
|
||||
|
||||
final totalTabs = (_hasSeeds ? 1 : 0) + (showKeyTab ? 1 : 0) + (showLegacySeedTab ? 1 : 0);
|
||||
final totalTabs = (_hasSeeds ? 1 : 0) +
|
||||
(showKeyTab ? 1 : 0) +
|
||||
(showLegacySeedTab ? 1 : 0) +
|
||||
(showSilentPaymentsTab ? 1 : 0);
|
||||
|
||||
_tabController = TabController(length: totalTabs, vsync: this);
|
||||
}
|
||||
@@ -108,13 +115,11 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
isScrollable: true,
|
||||
labelStyle: Theme.of(context).textTheme.bodyMedium!.copyWith(
|
||||
fontSize: 18,
|
||||
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
||||
),
|
||||
unselectedLabelStyle: Theme.of(context).textTheme.bodyMedium!.copyWith(
|
||||
fontSize: 18,
|
||||
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Theme.of(context).colorScheme.onSurfaceVariant.withOpacity(0.5),
|
||||
),
|
||||
@@ -126,9 +131,20 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
dividerColor: Colors.transparent,
|
||||
padding: EdgeInsets.zero,
|
||||
tabs: [
|
||||
if (_hasSeeds) Tab(text: S.of(context).widgets_seed, key: ValueKey('wallet_keys_page_seed')),
|
||||
if (showKeyTab) Tab(text: S.of(context).keys, key: ValueKey('wallet_keys_page_keys'),),
|
||||
if (showLegacySeedTab) Tab(text: S.of(context).legacy, key: ValueKey('wallet_keys_page_seed_legacy')),
|
||||
if (_hasSeeds)
|
||||
Tab(text: S.of(context).widgets_seed, key: ValueKey('wallet_keys_page_seed')),
|
||||
if (showKeyTab)
|
||||
Tab(
|
||||
text: S.of(context).keys,
|
||||
key: ValueKey('wallet_keys_page_keys'),
|
||||
),
|
||||
if (showSilentPaymentsTab)
|
||||
Tab(
|
||||
text: S.of(context).silent_payments,
|
||||
key: ValueKey('wallet_keys_silent_payments_keys'),
|
||||
),
|
||||
if (showLegacySeedTab)
|
||||
Tab(text: S.of(context).legacy, key: ValueKey('wallet_keys_page_seed_legacy')),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -145,7 +161,12 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
if (showKeyTab)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 22, right: 22),
|
||||
child: _buildKeysTab(context),
|
||||
child: _buildKeysTab(context, showSilentPaymentsTab ? widget.walletKeysViewModel.items.sublist(0, 4) : widget.walletKeysViewModel.items),
|
||||
),
|
||||
if (showSilentPaymentsTab)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 22, right: 22),
|
||||
child: _buildKeysTab(context, widget.walletKeysViewModel.items.sublist(4)),
|
||||
),
|
||||
if (showLegacySeedTab)
|
||||
Padding(
|
||||
@@ -163,7 +184,7 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
Widget _buildSeedTab(BuildContext context, bool isLegacySeed) {
|
||||
return Column(
|
||||
children: [
|
||||
if (isLegacySeedOnly || isLegacySeed) ...[
|
||||
if (isLegacySeedOnly || isLegacySeed || widget.walletKeysViewModel.isBitcoin) ...[
|
||||
_buildHeightBox(),
|
||||
const SizedBox(height: 20),
|
||||
],
|
||||
@@ -189,15 +210,15 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildKeysTab(BuildContext context) {
|
||||
Widget _buildKeysTab(BuildContext context, List<StandartListItem> items) {
|
||||
return Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: ListView.separated(
|
||||
shrinkWrap: true,
|
||||
itemCount: widget.walletKeysViewModel.items.length,
|
||||
itemCount: items.length,
|
||||
itemBuilder: (context, index) {
|
||||
final item = widget.walletKeysViewModel.items[index];
|
||||
final item = items[index];
|
||||
return TextInfoBox(
|
||||
key: item.key,
|
||||
title: item.title,
|
||||
|
||||
Reference in New Issue
Block a user