TF-460 Implement get identity for mobile

This commit is contained in:
dab246
2022-04-26 11:16:43 +07:00
committed by Dat H. Pham
parent f432dfb376
commit c9a579091a
20 changed files with 221 additions and 159 deletions
@@ -33,7 +33,7 @@ class IdentitiesController extends BaseController {
if (success is GetAllIdentitiesSuccess) {
if (success.identities?.isNotEmpty == true) {
listIdentities.value = success.identities ?? [];
selectIdentity(listIdentities.first);
setIdentityDefault();
}
}
}
@@ -57,6 +57,15 @@ class IdentitiesController extends BaseController {
consumeState(_getAllIdentitiesInteractor.execute(accountId));
}
void setIdentityDefault() {
try {
final identityDefault = listIdentities.firstWhere((identity) => identity.mayDelete == false);
selectIdentity(identityDefault);
} catch (exception) {
selectIdentity(listIdentities.first);
}
}
void selectIdentity(Identity? newIdentity) {
identitySelected.value = newIdentity;
}
@@ -82,8 +82,8 @@ class IdentitiesView extends GetWidget<IdentitiesController> {
responsiveUtils: _responsiveUtils,
mobile: Scaffold(
body: Container(
margin: const EdgeInsets.symmetric(vertical: 16),
child: Column(
margin: const EdgeInsets.only(top: 16, bottom: 16, right: 24),
child: SingleChildScrollView(child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
buttonSelectIdentity,
@@ -91,7 +91,8 @@ class IdentitiesView extends GetWidget<IdentitiesController> {
_imagePaths,
controller.identitySelected.value)),
]
)),
))
),
floatingActionButton: _responsiveUtils.isMobile(context)
? FloatingActionButton(
key: const Key('add_new_identity'),
@@ -101,7 +102,7 @@ class IdentitiesView extends GetWidget<IdentitiesController> {
: null),
desktop: Container(
margin: const EdgeInsets.symmetric(vertical: 24, horizontal: 16),
child: Column(
child: SingleChildScrollView(child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
@@ -112,7 +113,7 @@ class IdentitiesView extends GetWidget<IdentitiesController> {
controller.identitySelected.value,
maxWidth: constraints.maxWidth / 2)),
]
)
))
)
));
}