From d62d23bd4428a554d0af3590769c28fbcb4409d8 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Thu, 23 May 2019 18:37:56 +0200 Subject: [PATCH] Show posts targets --- lib/ui/screens/newest_posts.dart | 1 + lib/ui/tiles/post_tile.dart | 16 +++++++++++++++- lib/ui/widgets/posts_list_widget.dart | 4 ++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/ui/screens/newest_posts.dart b/lib/ui/screens/newest_posts.dart index b9467f5..2aebf3d 100644 --- a/lib/ui/screens/newest_posts.dart +++ b/lib/ui/screens/newest_posts.dart @@ -20,6 +20,7 @@ class _NewestPostsScreenState extends State { Widget build(BuildContext context) { return PostsListWidget( getPostsList: _postsHelper.getLatest, + showPostsTarget: true, ); } diff --git a/lib/ui/tiles/post_tile.dart b/lib/ui/tiles/post_tile.dart index f64e4f0..7989ed4 100644 --- a/lib/ui/tiles/post_tile.dart +++ b/lib/ui/tiles/post_tile.dart @@ -39,15 +39,18 @@ class PostTile extends StatefulWidget { final Post post; final UsersList usersInfo; final void Function(Post) onDeletedPost; + final bool showPostTarget; const PostTile({ Key key, @required this.post, @required this.usersInfo, @required this.onDeletedPost, + @required this.showPostTarget, }) : assert(post != null), assert(usersInfo != null), assert(onDeletedPost != null), + assert(showPostTarget != null), super(key: key); @override @@ -75,6 +78,17 @@ class _PostTileState extends State { set _sendingComment(bool sending) => setState(() => _submitting = sending); + String _getPostTarget() { + if (!widget.showPostTarget || + (!widget.post.isGroupPost && + widget.post.userID == widget.post.userPageID)) return ""; + + return " > " + + (widget.post.isGroupPost + ? "Group" + : widget.usersInfo.getUser(widget.post.userPageID).displayName); + } + Widget _buildHeaderRow() { // Header row return Row( @@ -91,7 +105,7 @@ class _PostTileState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - _user.displayName, + _user.displayName + _getPostTarget(), style: _userNameStyle, ), Text(diffTimeFromNowToStr(widget.post.timeSent)), diff --git a/lib/ui/widgets/posts_list_widget.dart b/lib/ui/widgets/posts_list_widget.dart index 866db68..aa1a2a0 100644 --- a/lib/ui/widgets/posts_list_widget.dart +++ b/lib/ui/widgets/posts_list_widget.dart @@ -16,11 +16,14 @@ import 'package:flutter/material.dart'; class PostsListWidget extends StatefulWidget { final Future Function() getPostsList; + final bool showPostsTarget; const PostsListWidget({ Key key, @required this.getPostsList, + @required this.showPostsTarget, }) : assert(getPostsList != null), + assert(showPostsTarget != null), super(key: key); @override @@ -75,6 +78,7 @@ class _PostsListWidgetState extends State { post: _list[i], usersInfo: _users, onDeletedPost: _removePost, + showPostTarget: widget.showPostsTarget, ), ); }