mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Can like a text
This commit is contained in:
		@@ -5,6 +5,7 @@ import 'package:comunic/models/user.dart';
 | 
			
		||||
import 'package:comunic/ui/widgets/account_image_widget.dart';
 | 
			
		||||
import 'package:comunic/ui/widgets/network_image_widget.dart';
 | 
			
		||||
import 'package:comunic/utils/date_utils.dart';
 | 
			
		||||
import 'package:comunic/utils/intl_utils.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
/// Single posts tile
 | 
			
		||||
@@ -20,13 +21,16 @@ const TextStyle _userNameStyle = TextStyle(
 | 
			
		||||
class PostTile extends StatelessWidget {
 | 
			
		||||
  final Post post;
 | 
			
		||||
  final UsersList usersInfo;
 | 
			
		||||
  final void Function(Post) onTapLike;
 | 
			
		||||
 | 
			
		||||
  const PostTile({
 | 
			
		||||
    Key key,
 | 
			
		||||
    @required this.post,
 | 
			
		||||
    @required this.usersInfo,
 | 
			
		||||
  })  : assert(post != null),
 | 
			
		||||
  const PostTile(
 | 
			
		||||
      {Key key,
 | 
			
		||||
      @required this.post,
 | 
			
		||||
      @required this.usersInfo,
 | 
			
		||||
      @required this.onTapLike})
 | 
			
		||||
      : assert(post != null),
 | 
			
		||||
        assert(usersInfo != null),
 | 
			
		||||
        assert(onTapLike != null),
 | 
			
		||||
        super(key: key);
 | 
			
		||||
 | 
			
		||||
  User get _user => usersInfo.getUser(post.userID);
 | 
			
		||||
@@ -83,6 +87,39 @@ class PostTile extends StatelessWidget {
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Widget _buildButtonsArea() {
 | 
			
		||||
    return Padding(
 | 
			
		||||
      padding:
 | 
			
		||||
          const EdgeInsets.only(top: 16.0, left: 8.0, right: 8.0, bottom: 16.0),
 | 
			
		||||
      child: Column(
 | 
			
		||||
        children: <Widget>[
 | 
			
		||||
          // Like button
 | 
			
		||||
          Center(
 | 
			
		||||
            child: InkWell(
 | 
			
		||||
              onTap: () => onTapLike(post),
 | 
			
		||||
              child: Row(
 | 
			
		||||
                crossAxisAlignment: CrossAxisAlignment.center,
 | 
			
		||||
                mainAxisAlignment: MainAxisAlignment.center,
 | 
			
		||||
                children: <Widget>[
 | 
			
		||||
                  Padding(
 | 
			
		||||
                    padding: const EdgeInsets.only(left: 8.0, right: 8.0),
 | 
			
		||||
                    child: Icon(
 | 
			
		||||
                      Icons.thumb_up,
 | 
			
		||||
                      color: post.userLikes ? Colors.blue : null,
 | 
			
		||||
                    ),
 | 
			
		||||
                  ),
 | 
			
		||||
                  Text(post.likes < 2
 | 
			
		||||
                      ? tr("%num% like", args: {"num": post.likes.toString()})
 | 
			
		||||
                      : tr("%num% likes", args: {"num": post.likes.toString()}))
 | 
			
		||||
                ],
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
          ),
 | 
			
		||||
        ],
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    return Card(
 | 
			
		||||
@@ -95,6 +132,7 @@ class PostTile extends StatelessWidget {
 | 
			
		||||
          children: <Widget>[
 | 
			
		||||
            _buildHeaderRow(),
 | 
			
		||||
            _buildContentRow(),
 | 
			
		||||
            _buildButtonsArea(),
 | 
			
		||||
          ],
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user