Skip to content

Commit

Permalink
refactor: Rename everything from wallet to account in `starport_templ…
Browse files Browse the repository at this point in the history
…ate` (#229)

* Refactor everything from wallet to account

* Update pubspec.lock

* Update pubspec.lock
  • Loading branch information
wal33d006 authored Mar 7, 2022
1 parent c55ed8c commit 2946ddf
Show file tree
Hide file tree
Showing 28 changed files with 308 additions and 309 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import 'dart:convert';

import 'package:transaction_signing_gateway/transaction_signing_gateway.dart';

class WalletAdditionalData {
WalletAdditionalData({
class AccountAdditionalData {
AccountAdditionalData({
required this.isBackedUp,
});

factory WalletAdditionalData.fromJson(Map<String, dynamic> map) {
return WalletAdditionalData(
factory AccountAdditionalData.fromJson(Map<String, dynamic> map) {
return AccountAdditionalData(
isBackedUp: map['isBackedUp'] as bool? ?? false,
);
}
Expand All @@ -24,7 +24,7 @@ class WalletAdditionalData {
String toJsonString() => jsonEncode(toJson());
}

extension AdditionalDataParsing on WalletPublicInfo {
WalletAdditionalData get data =>
WalletAdditionalData.fromJson(jsonDecode(additionalData ?? '{}') as Map<String, dynamic>);
extension AdditionalDataParsing on AccountPublicInfo {
AccountAdditionalData get data =>
AccountAdditionalData.fromJson(jsonDecode(additionalData ?? '{}') as Map<String, dynamic>);
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:starport_template/entities/wallet_additional_data.dart';
import 'package:starport_template/entities/account_additional_data.dart';

class ImportWalletFormData {
const ImportWalletFormData({
class ImportAccountFormData {
const ImportAccountFormData({
required this.mnemonic,
required this.name,
required this.password,
Expand All @@ -11,5 +11,5 @@ class ImportWalletFormData {
final String mnemonic;
final String name;
final String password;
final WalletAdditionalData additionalData;
final AccountAdditionalData additionalData;
}
4 changes: 2 additions & 2 deletions starport_template/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import 'package:cosmos_auth/cosmos_auth.dart';
import 'package:cosmos_utils/cosmos_utils.dart';
import 'package:flutter/material.dart';
import 'package:starport_template/starport_app.dart';
import 'package:starport_template/stores/accounts_store.dart';
import 'package:starport_template/stores/settings_store.dart';
import 'package:starport_template/stores/transactions_store.dart';
import 'package:starport_template/stores/wallets_store.dart';
import 'package:starport_template/utils/base_env.dart';
import 'package:transaction_signing_gateway/mobile/no_op_transaction_summary_ui.dart';
import 'package:transaction_signing_gateway/transaction_signing_gateway.dart';
Expand Down Expand Up @@ -37,7 +37,7 @@ void _buildDependencies() {
);

StarportApp.cosmosAuth = CosmosAuth();
StarportApp.walletsStore = WalletsStore(StarportApp.signingGateway, StarportApp.baseEnv);
StarportApp.accountsStore = AccountsStore(StarportApp.signingGateway, StarportApp.baseEnv);
StarportApp.settingsStore = SettingsStore(StarportApp.cosmosAuth, StarportApp.secureDataStore, StarportApp.baseEnv);
StarportApp.transactionsStore = TransactionsStore(StarportApp.baseEnv);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import 'package:cosmos_ui_components/cosmos_ui_components.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class WalletNamePage extends StatefulWidget {
const WalletNamePage({
class AccountNamePage extends StatefulWidget {
const AccountNamePage({
required this.name,
this.actionTitle = 'Save',
Key? key,
Expand All @@ -13,7 +13,7 @@ class WalletNamePage extends StatefulWidget {
final String actionTitle;

@override
State<WalletNamePage> createState() => _WalletNamePageState();
State<AccountNamePage> createState() => _AccountNamePageState();

@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
Expand All @@ -24,7 +24,7 @@ class WalletNamePage extends StatefulWidget {
}
}

class _WalletNamePageState extends State<WalletNamePage> {
class _AccountNamePageState extends State<AccountNamePage> {
late String name;

@override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,35 +1,36 @@
import 'package:cosmos_ui_components/cosmos_text_theme.dart';
import 'package:cosmos_ui_components/cosmos_ui_components.dart';
import 'package:cosmos_ui_components/models/account_info.dart';
import 'package:cosmos_utils/cosmos_utils.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:starport_template/pages/create_wallet_page.dart';
import 'package:starport_template/pages/import_wallet_page.dart';
import 'package:starport_template/pages/wallet_name_page.dart';
import 'package:starport_template/pages/account_name_page.dart';
import 'package:starport_template/pages/create_account_page.dart';
import 'package:starport_template/pages/import_account_page.dart';
import 'package:starport_template/starport_app.dart';
import 'package:transaction_signing_gateway/model/wallet_public_info.dart';
import 'package:transaction_signing_gateway/transaction_signing_gateway.dart';

class WalletsListSheet extends StatefulWidget {
const WalletsListSheet({
class AccountsListSheet extends StatefulWidget {
const AccountsListSheet({
Key? key,
}) : super(key: key);

@override
State<WalletsListSheet> createState() => _WalletsListSheetState();
State<AccountsListSheet> createState() => _AccountsListSheetState();
}

class _WalletsListSheetState extends State<WalletsListSheet> {
List<WalletPublicInfo> get publicInfos => StarportApp.walletsStore.wallets;
class _AccountsListSheetState extends State<AccountsListSheet> {
List<AccountPublicInfo> get publicInfos => StarportApp.accountsStore.accounts;

WalletPublicInfo get selectedWallet => StarportApp.walletsStore.selectedWallet;
AccountPublicInfo get selectedAccount => StarportApp.accountsStore.selectedAccount;

List<WalletInfo> get walletInfos => publicInfos
List<AccountInfo> get accountInfos => publicInfos
.map(
(publicInfo) => WalletInfo(
(publicInfo) => AccountInfo(
name: publicInfo.name,
address: publicInfo.publicAddress,
walletId: publicInfo.walletId,
accountId: publicInfo.accountId,
),
)
.toList();
Expand All @@ -46,10 +47,10 @@ class _WalletsListSheetState extends State<WalletsListSheet> {
child: Observer(
builder: (context) => ContentStateSwitcher(
emptyChild: const EmptyListMessage(
message: 'No wallets found. Add one.',
message: 'No accounts found. Add one.',
),
isLoading: StarportApp.walletsStore.isRenamingWallet,
isEmpty: walletInfos.isEmpty,
isLoading: StarportApp.accountsStore.isRenamingAccount,
isEmpty: accountInfos.isEmpty,
contentChild: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expand Down Expand Up @@ -88,45 +89,45 @@ class _WalletsListSheetState extends State<WalletsListSheet> {
}

void _onTapCreateAccount() {
Navigator.of(context).push(MaterialPageRoute(builder: (context) => const CreateWalletPage()));
Navigator.of(context).push(MaterialPageRoute(builder: (context) => const CreateAccountPage()));
}

void _onTapImportAccount() {
Navigator.of(context).push(MaterialPageRoute(builder: (context) => const ImportWalletPage()));
Navigator.of(context).push(MaterialPageRoute(builder: (context) => const ImportAccountPage()));
}

Expanded _buildMainList() {
return Expanded(
child: Observer(
builder: (context) => CosmosWalletsListView(
list: walletInfos,
selectedWallet: walletInfos.firstWhere((element) => element.address == selectedWallet.publicAddress),
onClicked: _walletClicked,
builder: (context) => CosmosAccountsListView(
list: accountInfos,
selectedAccount: accountInfos.firstWhere((element) => element.address == selectedAccount.publicAddress),
onClicked: _accountClicked,
isEditing: isEditingAccountList,
onEditIconPressed: _onEditIconPressed,
),
),
);
}

Future<void> _onTapRenameAccount(WalletInfo walletInfo) async {
Future<void> _onTapRenameAccount(AccountInfo accountInfo) async {
final newName = await Navigator.of(context).push<String>(
MaterialPageRoute(
builder: (context) => WalletNamePage(name: walletInfo.name),
builder: (context) => AccountNamePage(name: accountInfo.name),
),
);
if (!mounted) {
return;
}
if (newName != null) {
Navigator.of(context).pop();
await _renameWallet(newName);
await _renameAccount(newName);
}
}

Future<void> _renameWallet(String newName) async {
await StarportApp.walletsStore.renameWallet(newName);
if (StarportApp.walletsStore.renameWalletFailure != null) {
Future<void> _renameAccount(String newName) async {
await StarportApp.accountsStore.renameAccount(newName);
if (StarportApp.accountsStore.renameAccountFailure != null) {
await showCosmosAlertDialog(
context: context,
dialogBuilder: (context) => CosmosAlertDialog(
Expand All @@ -143,23 +144,23 @@ class _WalletsListSheetState extends State<WalletsListSheet> {
}
}

void _walletClicked(int index) => Navigator.of(context).pop(publicInfos[index]);
void _accountClicked(int index) => Navigator.of(context).pop(publicInfos[index]);

void _onEditIconPressed(WalletInfo walletInfo) {
void _onEditIconPressed(AccountInfo accountInfo) {
showCosmosActionSheet(
context: context,
actions: [
CosmosModalAction(
text: 'Rename Account',
onPressed: () => _onTapRenameAccount(walletInfo),
onPressed: () => _onTapRenameAccount(accountInfo),
),
CosmosModalAction(
text: 'Delete Account',
onPressed: () => notImplemented(context),
isCriticalAction: true,
),
],
title: Text(walletInfo.name),
title: Text(accountInfo.name),
);
}

Expand All @@ -168,8 +169,8 @@ class _WalletsListSheetState extends State<WalletsListSheet> {
super.debugFillProperties(properties);
properties
..add(DiagnosticsProperty<bool>('isEditingAccountList', isEditingAccountList))
..add(IterableProperty<WalletInfo>('walletInfos', walletInfos))
..add(IterableProperty<WalletPublicInfo>('publicInfos', publicInfos))
..add(DiagnosticsProperty<WalletPublicInfo>('selectedWallet', selectedWallet));
..add(IterableProperty<AccountInfo>('accountInfos', accountInfos))
..add(IterableProperty<AccountPublicInfo>('publicInfos', publicInfos))
..add(DiagnosticsProperty<AccountPublicInfo>('selectedAccount', selectedAccount));
}
}
36 changes: 18 additions & 18 deletions starport_template/lib/pages/assets_portfolio_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:mobx/mobx.dart';
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
import 'package:starport_template/entities/balance.dart';
import 'package:starport_template/pages/accounts_list_sheet.dart';
import 'package:starport_template/pages/receive_money_sheet.dart';
import 'package:starport_template/pages/select_asset_page.dart';
import 'package:starport_template/pages/transaction_history_page.dart';
import 'package:starport_template/pages/wallets_list_sheet.dart';
import 'package:starport_template/starport_app.dart';
import 'package:starport_template/widgets/asset_portfolio_heading.dart';
import 'package:starport_template/widgets/balance_card_list.dart';
import 'package:starport_template/widgets/starport_button_bar.dart';
import 'package:transaction_signing_gateway/model/wallet_public_info.dart';
import 'package:transaction_signing_gateway/transaction_signing_gateway.dart';

class AssetsPortfolioPage extends StatefulWidget {
const AssetsPortfolioPage({
Expand All @@ -27,15 +27,15 @@ class AssetsPortfolioPage extends StatefulWidget {
}

class _AssetsPortfolioPageState extends State<AssetsPortfolioPage> {
ObservableList<Balance> get balancesList => StarportApp.walletsStore.balancesList;
ObservableList<Balance> get balancesList => StarportApp.accountsStore.balancesList;

bool get isBalancesLoading => StarportApp.walletsStore.isBalancesLoading;
bool get isBalancesLoading => StarportApp.accountsStore.isBalancesLoading;

bool get isSendMoneyLoading => StarportApp.walletsStore.isSendMoneyLoading;
bool get isSendMoneyLoading => StarportApp.accountsStore.isSendMoneyLoading;

bool get isError => StarportApp.walletsStore.isBalancesLoadingError;
bool get isError => StarportApp.accountsStore.isBalancesLoadingError;

WalletPublicInfo get selectedWallet => StarportApp.walletsStore.selectedWallet;
AccountPublicInfo get selectedAccount => StarportApp.accountsStore.selectedAccount;

@override
Widget build(BuildContext context) {
Expand All @@ -51,7 +51,7 @@ class _AssetsPortfolioPageState extends State<AssetsPortfolioPage> {
children: [
_gradientAvatar(context),
AssetPortfolioHeading(
title: selectedWallet.name,
title: selectedAccount.name,
onTap: _onTapDropDown,
),
SizedBox(height: CosmosTheme.of(context).spacingXL),
Expand Down Expand Up @@ -92,7 +92,7 @@ class _AssetsPortfolioPageState extends State<AssetsPortfolioPage> {
height: 35,
child: InkWell(
onTap: () => _onTapAvatar(context),
child: GradientAvatar(stringKey: selectedWallet.publicAddress),
child: GradientAvatar(stringKey: selectedAccount.publicAddress),
),
),
),
Expand All @@ -104,17 +104,17 @@ class _AssetsPortfolioPageState extends State<AssetsPortfolioPage> {
);

Future<void> _onTapDropDown() async {
final wallet = await showMaterialModalBottomSheet(
final account = await showMaterialModalBottomSheet(
context: context,
backgroundColor: Colors.transparent,
builder: (context) => SizedBox(
height: MediaQuery.of(context).size.height / 1.06,
child: const WalletsListSheet(),
child: const AccountsListSheet(),
),
) as WalletPublicInfo?;
) as AccountPublicInfo?;

if (wallet != null) {
StarportApp.walletsStore.selectWallet(wallet);
if (account != null) {
StarportApp.accountsStore.selectAccount(account);
}
}

Expand All @@ -125,7 +125,7 @@ class _AssetsPortfolioPageState extends State<AssetsPortfolioPage> {
builder: (context) => SizedBox(
height: MediaQuery.of(context).size.height / 1.06,
child: ReceiveMoneySheet(
walletInfo: StarportApp.walletsStore.selectedWallet,
accountInfo: StarportApp.accountsStore.selectedAccount,
),
),
);
Expand All @@ -136,9 +136,9 @@ class _AssetsPortfolioPageState extends State<AssetsPortfolioPage> {
super.debugFillProperties(properties);
properties
..add(
DiagnosticsProperty<WalletPublicInfo>(
'selectedWallet',
selectedWallet,
DiagnosticsProperty<AccountPublicInfo>(
'selectedAccount',
selectedAccount,
),
)
..add(DiagnosticsProperty<bool>('isBalancesLoading', isBalancesLoading))
Expand Down
2 changes: 1 addition & 1 deletion starport_template/lib/pages/assets_transfer_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class AssetsTransferSheet extends StatefulWidget {
}

class _AssetsTransferSheetState extends State<AssetsTransferSheet> {
bool get isLoading => StarportApp.walletsStore.isSendMoneyLoading;
bool get isLoading => StarportApp.accountsStore.isSendMoneyLoading;

@override
Widget build(BuildContext context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ import 'package:flutter/material.dart';
import 'package:starport_template/pages/repeat_mnemonic_page.dart';
import 'package:starport_template/widgets/copy_to_clipboard_button.dart';

class BackUpWalletPage extends StatefulWidget {
const BackUpWalletPage({
class BackUpAccountPage extends StatefulWidget {
const BackUpAccountPage({
required this.mnemonic,
Key? key,
}) : super(key: key);

final String mnemonic;

@override
State<BackUpWalletPage> createState() => _BackUpWalletPageState();
State<BackUpAccountPage> createState() => _BackUpAccountPageState();

@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
Expand All @@ -24,7 +24,7 @@ class BackUpWalletPage extends StatefulWidget {
}
}

class _BackUpWalletPageState extends State<BackUpWalletPage> {
class _BackUpAccountPageState extends State<BackUpAccountPage> {
List<String> get mnemonicWords => widget.mnemonic.splitToWords();
var _confirmChecked = false;

Expand Down
Loading

0 comments on commit 2946ddf

Please sign in to comment.