diff --git a/lib/components/mail_list_item.dart b/lib/components/mail_list_item.dart index 8818365..efec0c1 100644 --- a/lib/components/mail_list_item.dart +++ b/lib/components/mail_list_item.dart @@ -12,9 +12,9 @@ import 'package:fyx/model/MainRepository.dart'; import 'package:fyx/pages/NewMessagePage.dart'; import 'package:fyx/theme/Helpers.dart'; import 'package:fyx/theme/IconReply.dart'; -import 'package:fyx/theme/IconUnread.dart'; import 'package:fyx/theme/skin/Skin.dart'; import 'package:fyx/theme/skin/SkinColors.dart'; +import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; class MailListItem extends StatefulWidget { @@ -56,8 +56,11 @@ class _MailListItemState extends State { topRightWidget: Row( children: [ Visibility( - visible: widget.mail.isUnread, - child: IconUnread(), + visible: widget.mail.isOutgoing && widget.mail.isUnread, + child: Icon( + MdiIcons.emailMarkAsUnread, + color: colors.text.withOpacity(0.38), + ), ), SizedBox( width: 4, diff --git a/lib/model/Mail.dart b/lib/model/Mail.dart index 6dca30b..60aa6af 100644 --- a/lib/model/Mail.dart +++ b/lib/model/Mail.dart @@ -24,13 +24,16 @@ class Mail extends IPost { _time = DateTime.parse(json['inserted_at'] ?? '0').millisecondsSinceEpoch; _direction = json['incoming'] ?? false; content = ContentRegular(json['content'], isCompact: this.isCompact); - _message_status = (json['unread'] ?? false) ? MailStatus.unread : MailStatus.read; + _message_status = json['unread'] == null ? MailStatus.unknown : (json['unread'] ? MailStatus.unread : MailStatus.read); _new = json['new'] ?? false; _active = json['activity']; } bool get isUnread => status == MailStatus.unread; + bool get isIncoming => _direction == true; + bool get isOutgoing => _direction == false; + bool get isNew => _new; Active? get active => _active == null ? null : Active.fromJson(_active!); diff --git a/lib/theme/IconUnread.dart b/lib/theme/IconUnread.dart deleted file mode 100644 index 2a1914c..0000000 --- a/lib/theme/IconUnread.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:fyx/theme/skin/Skin.dart'; -import 'package:fyx/theme/skin/SkinColors.dart'; - -class IconUnread extends StatelessWidget { - @override - Widget build(BuildContext context) { - SkinColors colors = Skin.of(context).theme.colors; - - return Icon( - Icons.markunread_mailbox, - color: colors.text.withOpacity(0.38), - ); - } -}