import 'package:comunic/helpers/users_helper.dart'; import 'package:comunic/models/user.dart'; import 'package:comunic/ui/widgets/account_image_widget.dart'; import 'package:comunic/ui/widgets/safe_state.dart'; import 'package:comunic/utils/account_utils.dart'; import 'package:comunic/utils/ui_utils.dart'; import 'package:flutter/material.dart'; /// Current user panel /// /// @author Pierre HUBERT class CurrentUserPanel extends StatefulWidget { @override _CurrentUserPanelState createState() => _CurrentUserPanelState(); } class _CurrentUserPanelState extends SafeState { User _user; Future _refresh() async { try { final user = await UsersHelper().getSingleWithThrow(userID()); setState(() => _user = user); } catch (e, s) { print("Could not load user panel! $e\n$s"); setTimeout(5, _refresh); } } @override void initState() { super.initState(); _refresh(); } @override Widget build(BuildContext context) { return Container( height: 80, child: Center(child: _buildContent()), ); } Widget _buildContent() { if (_user == null) return buildCenteredProgressBar(); return ListTile( leading: AccountImageWidget( user: _user, width: 50, ), title: Text(_user.displayName), ); } }