showParticipantSheet method
Implementation
void showParticipantSheet(
BuildContext context,
Map<ParticipantType, List<String>> data,
) {
showModalBottomSheet(
context: context,
builder: (context) {
final List<Widget> children = [];
for (final type in ParticipantType.values) {
if (type == ParticipantType.undefined) continue;
if (data[type]!.isEmpty) continue;
final typeName = t["participant.${type.name}"] as String;
children.add(
Padding(
padding: const EdgeInsets.only(top: 8.0, left: 16.0),
child: Text(
typeName,
style: Theme.of(context).textTheme.labelLarge,
),
),
);
children.add(const Divider(indent: 16, endIndent: 16));
children.addAll(
data[type]!.map(
(id) => Padding(
padding: const EdgeInsets.symmetric(vertical: 4.0),
child: UserListTile(id: id),
),
),
);
}
children.add(const SizedBox(height: 64.0));
return SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: children,
),
);
},
);
}