TF-248 Change avatar of item list email

This commit is contained in:
dab246
2022-02-08 15:03:39 +07:00
committed by Dat H. Pham
parent da7f33d6f7
commit 22bbd585cf
9 changed files with 123 additions and 41 deletions
@@ -1,3 +1,5 @@
import 'dart:math';
import 'package:core/core.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:dartz/dartz.dart';
@@ -63,6 +65,8 @@ class ThreadController extends BaseController {
final emailListSearch = <PresentationEmail>[].obs;
final currentSelectMode = SelectMode.INACTIVE.obs;
final random = Random();
bool canLoadMore = true;
bool canSearchMore = true;
MailboxId? _currentMailboxId;
@@ -207,7 +211,10 @@ class ThreadController extends BaseController {
void _getAllEmailSuccess(GetAllEmailSuccess success) {
_currentEmailState = success.currentEmailState;
emailList.value = success.emailList;
final listEmailHaveAvatarGradientColor = success.emailList
.map((email) => email.asAvatarGradientColor(random))
.toList();
emailList.value = listEmailHaveAvatarGradientColor;
}
void _getAllEmailAction(AccountId accountId, {MailboxId? mailboxId}) {
@@ -271,7 +278,10 @@ class ThreadController extends BaseController {
void _loadMoreEmailsSuccess(LoadMoreEmailsSuccess success) {
if (success.emailList.isNotEmpty) {
emailList.addAll(success.emailList);
final listEmailHaveAvatarGradientColor = success.emailList
.map((email) => email.asAvatarGradientColor(random))
.toList();
emailList.addAll(listEmailHaveAvatarGradientColor);
} else {
canLoadMore = false;
}
@@ -74,9 +74,9 @@ class AppBarThreadWidgetBuilder {
}},
child: Padding(
padding: EdgeInsets.zero,
child: AvatarBuilder()
.text(_userProfile != null ? _userProfile!.getAvatarText() : '')
.size(36)
child: (AvatarBuilder()
..text(_userProfile != null ? _userProfile!.getAvatarText() : '')
..size(36))
.build()));
}
@@ -81,7 +81,7 @@ class EmailTileBuilder {
}
},
leading: Transform(
transform: Matrix4.translationValues(-10.0, -10.0, 0.0),
transform: Matrix4.translationValues(-10.0, -2.0, 0.0),
child: _buildAvatarIcon()),
title: Transform(
transform: Matrix4.translationValues(-10.0, 0.0, 0.0),
@@ -216,7 +216,7 @@ class EmailTileBuilder {
);
}
Widget _buildAvatarIcon () {
Widget _buildAvatarIcon() {
if (_selectModeAll == SelectMode.ACTIVE) {
return AnimatedSwitcher(
duration: Duration(milliseconds: 600),
@@ -228,20 +228,24 @@ class EmailTileBuilder {
_onSelectEmailActionClick!(_presentationEmail);
}}))
.build()
: AvatarBuilder()
.text('${_presentationEmail.getAvatarText()}')
.size(40)
// .iconStatus(_imagePaths.icOffline)
.addOnTapActionClick(() {
if (_selectModeAll == SelectMode.ACTIVE && _onSelectEmailActionClick != null) {
_onSelectEmailActionClick!(_presentationEmail);
}})
: (AvatarBuilder()
..text('${_presentationEmail.getAvatarText()}')
..size(56)
..textColor(Colors.white)
..avatarColor(_presentationEmail.avatarColors)
// .iconStatus(_imagePaths.icOffline)
..addOnTapActionClick(() {
if (_selectModeAll == SelectMode.ACTIVE && _onSelectEmailActionClick != null) {
_onSelectEmailActionClick!(_presentationEmail);
}}))
.build()
);
} else {
return AvatarBuilder()
.text('${_presentationEmail.getAvatarText()}')
.size(40)
return (AvatarBuilder()
..text('${_presentationEmail.getAvatarText()}')
..size(56)
..textColor(Colors.white)
..avatarColor(_presentationEmail.avatarColors))
// .iconStatus(_imagePaths.icOffline)
.build();
}