sorted participants list alphabetically #87
| @@ -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(), |  | ||||||
|       ), |       ), | ||||||
|     ); |     ); | ||||||
|   } |   } | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user