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

Add more actions

This commit is contained in:
2020-05-16 17:21:33 +02:00
parent e7181c1f59
commit bf2ba03912
4 changed files with 105 additions and 22 deletions

View File

@ -1,9 +1,12 @@
import 'package:comunic/helpers/friends_helper.dart';
import 'package:comunic/helpers/users_helper.dart';
import 'package:comunic/models/advanced_user_info.dart';
import 'package:comunic/models/friend_status.dart';
import 'package:comunic/ui/routes/main_route/main_route.dart';
import 'package:comunic/ui/widgets/mobile_mode/user_page_mobile.dart';
import 'package:comunic/ui/widgets/safe_state.dart';
import 'package:comunic/ui/widgets/tablet_mode/user_page_tablet.dart';
import 'package:comunic/utils/account_utils.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:comunic/utils/ui_utils.dart';
import 'package:flutter/material.dart';
@ -32,6 +35,7 @@ class _UserPageScreenState extends SafeState<UserPageScreen> {
// Objects members
_PageStatus _status = _PageStatus.LOADING;
AdvancedUserInfo _userInfo;
FriendStatus _frienshipStatus;
final _refreshIndicatorKey = GlobalKey<RefreshIndicatorState>();
_setStatus(_PageStatus s) => setState(() => _status = s);
@ -47,9 +51,13 @@ class _UserPageScreenState extends SafeState<UserPageScreen> {
try {
final user = await usersHelper.getAdvancedInfo(widget.userID);
final status = widget.userID == userID()
? null
: await FriendsHelper().getFriendshipStatus(widget.userID);
setState(() {
_userInfo = user;
_frienshipStatus = status;
});
_setStatus(_PageStatus.READY);
@ -61,6 +69,9 @@ class _UserPageScreenState extends SafeState<UserPageScreen> {
controller.popPage();
controller.openUserAccessDeniedPage(widget.userID);
}
} catch (e, s) {
print("Could not refresh user information! $e\n$s");
_setStatus(_PageStatus.ERROR);
}
}
@ -104,6 +115,7 @@ class _UserPageScreenState extends SafeState<UserPageScreen> {
? UserPageTablet(
userInfo: _userInfo,
onNeedRefresh: () => _refreshIndicatorKey.currentState.show(),
friendshipStatus: _frienshipStatus,
)
: UserMobilePage(
userInfo: _userInfo,