diff --git a/lib/view/pages/talk/components/chatTile.dart b/lib/view/pages/talk/components/chatTile.dart index 0eee6d8..7c313dc 100644 --- a/lib/view/pages/talk/components/chatTile.dart +++ b/lib/view/pages/talk/components/chatTile.dart @@ -30,18 +30,14 @@ class ChatTile extends StatefulWidget { } class _ChatTileState extends State { - late String username; - late UserAvatar circleAvatar; + late String selfUsername; @override void initState() { super.initState(); SharedPreferences.getInstance().then((value) => { - username = value.getString('username')! + selfUsername = value.getString('username')! }); - - var isGroup = widget.data.type != GetRoomResponseObjectConversationType.oneToOne; - circleAvatar = UserAvatar(id: isGroup ? widget.data.token : widget.data.name, isGroup: isGroup); } void setCurrentAsRead() { @@ -54,9 +50,11 @@ class _ChatTileState extends State { ).run().then((value) => widget.query(renew: true)); } - @override - Widget build(BuildContext context) => Consumer(builder: (context, chatData, child) => ListTile( + Widget build(BuildContext context) => Consumer(builder: (context, chatData, child) { + var isGroup = widget.data.type != GetRoomResponseObjectConversationType.oneToOne; + var circleAvatar = UserAvatar(id: isGroup ? widget.data.token : widget.data.name, isGroup: isGroup); + return ListTile( style: ListTileStyle.list, tileColor: chatData.currentToken() == widget.data.token && TalkNavigator.isSecondaryVisible(context) ? Theme.of(context).primaryColor.withAlpha(100) @@ -117,7 +115,7 @@ class _ChatTileState extends State { ), onTap: () async { setCurrentAsRead(); - var view = ChatView(room: widget.data, selfId: username, avatar: circleAvatar); + var view = ChatView(room: widget.data, selfId: selfUsername, avatar: circleAvatar); TalkNavigator.pushSplitView(context, view, overrideToSingleSubScreen: true); Provider.of(context, listen: false).setQueryToken(widget.data.token); }, @@ -182,5 +180,6 @@ class _ChatTileState extends State { ], )); }, - )); + ); + }); }