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

Fix refresh issue

This commit is contained in:
2022-03-12 10:13:32 +01:00
parent 0bd7426813
commit 56c5eb335b
4 changed files with 25 additions and 10 deletions

View File

@ -20,8 +20,7 @@ enum _PageStatus { LOADING, ERROR, READY }
class UserPageScreen extends StatefulWidget {
final int userID;
const UserPageScreen({Key? key, required this.userID})
: super(key: key);
const UserPageScreen({Key? key, required this.userID}) : super(key: key);
@override
_UserPageScreenState createState() => _UserPageScreenState();
@ -33,18 +32,23 @@ class _UserPageScreenState extends SafeState<UserPageScreen> {
// Objects members
_PageStatus _status = _PageStatus.LOADING;
late AdvancedUserInfo _userInfo;
AdvancedUserInfo? _userInfo;
FriendStatus? _frienshipStatus;
final _refreshIndicatorKey = GlobalKey<RefreshIndicatorState>();
final _pageKey = GlobalKey();
_setStatus(_PageStatus s) => setState(() => _status = s);
@override
void didChangeDependencies() {
super.didChangeDependencies();
_getUserInfo();
if(_userInfo?.id != widget.userID)
_getUserInfo();
}
Future<void> _getUserInfo() async {
_setStatus(_PageStatus.LOADING);
@ -112,12 +116,14 @@ class _UserPageScreenState extends SafeState<UserPageScreen> {
Widget _buildBody() {
return isTablet(context)
? UserPageTablet(
userInfo: _userInfo,
key: _pageKey,
userInfo: _userInfo!,
onNeedRefresh: () => _refreshIndicatorKey.currentState!.show(),
friendshipStatus: _frienshipStatus,
)
: UserMobilePage(
userInfo: _userInfo,
key: _pageKey,
userInfo: _userInfo!,
onNeedRefresh: () => _refreshIndicatorKey.currentState!.show(),
);
}