From c44b0464a48cd65b7dd4536df76fe19baa991ba9 Mon Sep 17 00:00:00 2001 From: lars Date: Tue, 10 Jun 2025 20:19:44 +0200 Subject: [PATCH 1/2] sorted participants list alphabetically --- .../participants/participantsListView.dart | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/view/pages/talk/chatDetails/participants/participantsListView.dart b/lib/view/pages/talk/chatDetails/participants/participantsListView.dart index 2bc863b..3741cc3 100644 --- a/lib/view/pages/talk/chatDetails/participants/participantsListView.dart +++ b/lib/view/pages/talk/chatDetails/participants/participantsListView.dart @@ -13,16 +13,23 @@ class ParticipantsListView extends StatefulWidget { class _ParticipantsListViewState extends State { @override - Widget build(BuildContext context) => Scaffold( + Widget build(BuildContext context) { + final participants = widget.participantsResponse.data.map((participant) => ListTile( + leading: UserAvatar(id: participant.actorId), + title: Text(participant.displayName), + subtitle: participant.statusMessage != null ? Text(participant.statusMessage!) : null, + )).toList(); + + 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, ), ); + } } From 0c676dc3d6e7ba696d634d1a19f7a2b87e1171bc Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 23 Jun 2025 17:54:12 +0200 Subject: [PATCH 2/2] made perticipants list stateless --- .../chatDetails/participants/participantsListView.dart | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/view/pages/talk/chatDetails/participants/participantsListView.dart b/lib/view/pages/talk/chatDetails/participants/participantsListView.dart index 3741cc3..fd6013a 100644 --- a/lib/view/pages/talk/chatDetails/participants/participantsListView.dart +++ b/lib/view/pages/talk/chatDetails/participants/participantsListView.dart @@ -3,18 +3,13 @@ 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(); -} - -class _ParticipantsListViewState extends State { @override Widget build(BuildContext context) { - final participants = widget.participantsResponse.data.map((participant) => ListTile( + final participants = participantsResponse.data.map((participant) => ListTile( leading: UserAvatar(id: participant.actorId), title: Text(participant.displayName), subtitle: participant.statusMessage != null ? Text(participant.statusMessage!) : null,