Merge pull request 'sorted participants list alphabetically' (#87) from develop-sortedParticipants into develop

Reviewed-on: #87
Reviewed-by: Elias Müller <elias@elias-mueller.com>
This commit is contained in:
2025-06-24 10:47:07 +00:00

View File

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