1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 00:05:16 +00:00

Can like a text

This commit is contained in:
2019-05-11 15:35:07 +02:00
parent 315c61a212
commit be53a73d9f
6 changed files with 197 additions and 62 deletions

View File

@ -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(),
],
),
),