This commit is contained in:
otsmr 2025-04-08 14:19:55 +02:00
parent b039f5e4c7
commit 23f678a36d

View file

@ -21,10 +21,8 @@ import 'package:twonly/src/views/settings/settings_main_view.dart';
import 'package:twonly/src/views/chats/search_username_view.dart'; import 'package:twonly/src/views/chats/search_username_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
/// Displays a list of SampleItems.
class ChatListView extends StatefulWidget { class ChatListView extends StatefulWidget {
const ChatListView({super.key}); const ChatListView({super.key});
@override @override
State<ChatListView> createState() => _ChatListViewState(); State<ChatListView> createState() => _ChatListViewState();
} }
@ -90,7 +88,7 @@ class _ChatListViewState extends State<ChatListView> {
return Container(); return Container();
} }
final contacts = snapshot.data!; var contacts = snapshot.data!;
if (contacts.isEmpty) { if (contacts.isEmpty) {
return Center( return Center(
child: Padding( child: Padding(
@ -123,17 +121,14 @@ class _ChatListViewState extends State<ChatListView> {
await apiProvider.connect(); await apiProvider.connect();
await Future.delayed(Duration(seconds: 1)); await Future.delayed(Duration(seconds: 1));
}, },
child: ListView.builder( child: ListView(
restorationId: 'chat_list_view', restorationId: 'chat_list_view',
itemCount: contacts.length, children: contacts.map((user) {
itemBuilder: (BuildContext context, int index) {
final user = contacts[index];
return UserListItem( return UserListItem(
key: ValueKey(user.userId),
user: user, user: user,
maxTotalMediaCounter: maxTotalMediaCounter, maxTotalMediaCounter: maxTotalMediaCounter,
); );
}, }).toList(),
), ),
); );
}, },
@ -146,8 +141,11 @@ class UserListItem extends StatefulWidget {
final Contact user; final Contact user;
final int maxTotalMediaCounter; final int maxTotalMediaCounter;
const UserListItem( const UserListItem({
{super.key, required this.user, required this.maxTotalMediaCounter}); super.key,
required this.user,
required this.maxTotalMediaCounter,
});
@override @override
State<UserListItem> createState() => _UserListItem(); State<UserListItem> createState() => _UserListItem();