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:
@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user