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

Create pick user dialog

This commit is contained in:
2020-05-02 15:30:19 +02:00
parent 1227ef283c
commit 804457c761
5 changed files with 153 additions and 15 deletions

View File

@ -6,6 +6,7 @@ import 'package:comunic/models/group.dart';
import 'package:comunic/models/group_membership.dart';
import 'package:comunic/models/user.dart';
import 'package:comunic/ui/dialogs/multi_choices_dialog.dart';
import 'package:comunic/ui/dialogs/pick_user_dialog.dart';
import 'package:comunic/ui/widgets/account_image_widget.dart';
import 'package:comunic/ui/widgets/async_screen_widget.dart';
import 'package:comunic/ui/widgets/comunic_back_button_widget.dart';
@ -61,8 +62,11 @@ class _GroupMembersScreenState extends State<GroupMembersScreen> {
);
Widget _buildBodyContent() {
return ListView(
children: _members.map(_buildGroupMemberTile).toList(),
return Stack(
children: [
ListView(children: _members.map(_buildGroupMemberTile).toList()),
_buildInvitationFAB()
],
);
}
@ -75,6 +79,29 @@ class _GroupMembersScreenState extends State<GroupMembersScreen> {
onUpdated: () => _key.currentState.refresh(),
);
}
Widget _buildInvitationFAB() {
return Positioned(
right: 20,
bottom: 20,
child: FloatingActionButton(
onPressed: _inviteMember,
child: Icon(Icons.add),
),
);
}
void _inviteMember() async {
try {
final userID = await showPickUserDialog(context);
if (userID == null) return;
print("Invite user: $userID");
} catch (e, s) {
print("Could not invite a user! $e\n$s");
showSimpleSnack(context, tr("Could not invite a user!"));
}
}
}
List<MultiChoiceEntry<GroupMembershipLevel>> get _membershipLevels => [