mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Simplify like update code
This commit is contained in:
@ -6,6 +6,7 @@ import 'package:comunic/helpers/comments_helper.dart';
|
||||
import 'package:comunic/helpers/likes_helper.dart';
|
||||
import 'package:comunic/lists/users_list.dart';
|
||||
import 'package:comunic/models/comment.dart';
|
||||
import 'package:comunic/models/like_element.dart';
|
||||
import 'package:comunic/models/new_comment.dart';
|
||||
import 'package:comunic/models/post.dart';
|
||||
import 'package:comunic/models/user.dart';
|
||||
@ -126,7 +127,7 @@ class _PostTileState extends State<PostTile> {
|
||||
// Like button
|
||||
Center(
|
||||
child: InkWell(
|
||||
onTap: () => _updateLike(),
|
||||
onTap: () => _updatePostLike(),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
@ -135,7 +136,7 @@ class _PostTileState extends State<PostTile> {
|
||||
padding: const EdgeInsets.only(left: 8.0, right: 8.0),
|
||||
child: Icon(
|
||||
Icons.thumb_up,
|
||||
color: widget.post.userLikes ? Colors.blue : null,
|
||||
color: widget.post.userLike ? Colors.blue : null,
|
||||
),
|
||||
),
|
||||
Text(widget.post.likes < 2
|
||||
@ -339,34 +340,28 @@ class _PostTileState extends State<PostTile> {
|
||||
}
|
||||
|
||||
/// Update like status
|
||||
Future<void> _updateLike() async {
|
||||
// Update liking status
|
||||
_likesHelper.setLiking(
|
||||
type: LikesType.POST,
|
||||
like: !widget.post.userLikes,
|
||||
id: widget.post.id,
|
||||
);
|
||||
|
||||
// Save new like status
|
||||
setState(() {
|
||||
widget.post.userLikes = !widget.post.userLikes;
|
||||
widget.post.userLikes ? widget.post.likes++ : widget.post.likes--;
|
||||
});
|
||||
Future<void> _updatePostLike() async {
|
||||
_updateElementLike(LikesType.POST, widget.post);
|
||||
}
|
||||
|
||||
/// Invert comment like status
|
||||
Future<void> _updateCommentLike(Comment comment) async {
|
||||
_updateElementLike(LikesType.COMMENT, comment);
|
||||
}
|
||||
|
||||
/// Invert element like status
|
||||
Future<void> _updateElementLike(LikesType type, LikeElement element) async {
|
||||
// Update liking status
|
||||
_likesHelper.setLiking(
|
||||
type: LikesType.COMMENT,
|
||||
like: !comment.userLike,
|
||||
id: comment.id,
|
||||
type: type,
|
||||
like: !element.userLike,
|
||||
id: element.id,
|
||||
);
|
||||
|
||||
// Save new like status
|
||||
setState(() {
|
||||
comment.userLike = !comment.userLike;
|
||||
comment.userLike ? comment.likes++ : comment.likes--;
|
||||
element.userLike = !element.userLike;
|
||||
element.userLike ? element.likes++ : element.likes--;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user