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

Open private conversation from friends list

This commit is contained in:
2019-05-02 08:09:40 +02:00
parent eba12736e9
commit 21a60f423b
4 changed files with 85 additions and 6 deletions

View File

@ -6,6 +6,7 @@ import 'package:comunic/models/friend.dart';
import 'package:comunic/ui/tiles/accepted_friend_tile.dart';
import 'package:comunic/ui/tiles/pending_friend_tile.dart';
import 'package:comunic/ui/widgets/safe_state.dart';
import 'package:comunic/utils/conversations_utils.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:comunic/utils/ui_utils.dart';
import 'package:flutter/material.dart';
@ -111,6 +112,7 @@ class _FriendsListScreenState extends SafeState<FriendsListScreen> {
? AcceptedFriendTile(
friend: _friendsList[i],
user: _usersInfo.getUser(_friendsList[i].id),
onOpenPrivateConversation: _openPrivateConversation,
onSetFollowing: _setFollowingFriend,
onRequestDelete: _deleteFriend,
)
@ -135,16 +137,14 @@ class _FriendsListScreenState extends SafeState<FriendsListScreen> {
_loadList();
}
/// Update following status of a friend
Future<void> _setFollowingFriend(Friend friend, bool follow) async {
loading = true;
if(!await _friendsHelper.setFollowing(friend.id, follow))
if (!await _friendsHelper.setFollowing(friend.id, follow))
showSimpleSnack(context, tr("Could not update following status!"));
_loadList();
}
/// Handles deletion request of a friend
@ -182,4 +182,11 @@ class _FriendsListScreenState extends SafeState<FriendsListScreen> {
// Refresh list
_loadList();
}
/// Open a private conversation for a given [friend]
Future<void> _openPrivateConversation(Friend friend) async {
loading = true;
await openPrivateConversation(context, friend.id);
loading = false;
}
}