You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.5 KiB
68 lines
2.5 KiB
import 'package:provider/provider.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter_mobx/flutter_mobx.dart';
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
|
import 'package:cake_wallet/src/stores/subaddress_list/subaddress_list_store.dart';
|
|
import 'package:cake_wallet/src/stores/wallet/wallet_store.dart';
|
|
import 'package:cake_wallet/src/screens/base_page.dart';
|
|
|
|
class SubaddressListPage extends BasePage {
|
|
SubaddressListPage();
|
|
|
|
@override
|
|
bool get isModalBackButton => true;
|
|
|
|
@override
|
|
String get title => S.current.subaddress_title;
|
|
|
|
@override
|
|
AppBarStyle get appBarStyle => AppBarStyle.withShadow;
|
|
|
|
@override
|
|
Widget body(BuildContext context) {
|
|
final walletStore = Provider.of<WalletStore>(context);
|
|
final subaddressListStore = Provider.of<SubaddressListStore>(context);
|
|
|
|
final currentColor = Theme.of(context).selectedRowColor;
|
|
final notCurrentColor = Theme.of(context).backgroundColor;
|
|
|
|
return Container(
|
|
padding: EdgeInsets.only(top: 20.0, bottom: 20.0),
|
|
child: Observer(
|
|
builder: (_) => ListView.separated(
|
|
separatorBuilder: (_, __) => Divider(
|
|
color: Theme.of(context).dividerTheme.color, height: 1.0),
|
|
itemCount: subaddressListStore.subaddresses == null
|
|
? 0
|
|
: subaddressListStore.subaddresses.length,
|
|
itemBuilder: (BuildContext context, int index) {
|
|
final subaddress = subaddressListStore.subaddresses[index];
|
|
final isCurrent =
|
|
walletStore.subaddress.address == subaddress.address;
|
|
final label = subaddress.label ?? subaddress.address;
|
|
|
|
return InkWell(
|
|
onTap: () => Navigator.of(context).pop(subaddress),
|
|
child: Container(
|
|
color: isCurrent ? currentColor : notCurrentColor,
|
|
child: Column(children: <Widget>[
|
|
ListTile(
|
|
title: Text(
|
|
label,
|
|
style: TextStyle(
|
|
fontSize: 16.0,
|
|
color: Theme.of(context)
|
|
.primaryTextTheme
|
|
.headline
|
|
.color),
|
|
),
|
|
)
|
|
]),
|
|
),
|
|
);
|
|
}),
|
|
));
|
|
}
|
|
}
|