diff --git a/lib/view/pages/talk/chatDetails/participants/participantsListView.dart b/lib/view/pages/talk/chatDetails/participants/participantsListView.dart index 2bc863b..fd6013a 100644 --- a/lib/view/pages/talk/chatDetails/participants/participantsListView.dart +++ b/lib/view/pages/talk/chatDetails/participants/participantsListView.dart @@ -3,26 +3,28 @@ import 'package:flutter/material.dart'; import '../../../../../api/marianumcloud/talk/getParticipants/getParticipantsResponse.dart'; import '../../../../../widget/userAvatar.dart'; -class ParticipantsListView extends StatefulWidget { +class ParticipantsListView extends StatelessWidget { final GetParticipantsResponse participantsResponse; const ParticipantsListView(this.participantsResponse, {super.key}); @override - State createState() => _ParticipantsListViewState(); -} + Widget build(BuildContext context) { + final participants = participantsResponse.data.map((participant) => ListTile( + leading: UserAvatar(id: participant.actorId), + title: Text(participant.displayName), + subtitle: participant.statusMessage != null ? Text(participant.statusMessage!) : null, + )).toList(); -class _ParticipantsListViewState extends State { - @override - Widget build(BuildContext context) => Scaffold( + lastname(participant) => participant.title.toString().split(' ').last; + participants.sort((a, b) => lastname(a).compareTo(lastname(b))); + + return Scaffold( appBar: AppBar( title: const Text('Teilnehmende'), ), body: ListView( - children: widget.participantsResponse.data.map((participant) => ListTile( - leading: UserAvatar(id: participant.actorId), - title: Text(participant.displayName), - subtitle: participant.statusMessage != null ? Text(participant.statusMessage!) : null, - )).toList(), + children: participants, ), ); + } }