OpenContacts/lib/widgets/friend_list_tile.dart
2023-04-30 15:43:59 +02:00

37 lines
No EOL
1.2 KiB
Dart

import 'package:cached_network_image/cached_network_image.dart';
import 'package:contacts_plus/models/friend.dart';
import 'package:contacts_plus/widgets/messages.dart';
import 'package:flutter/material.dart';
class FriendListTile extends StatelessWidget {
const FriendListTile({required this.friend, super.key});
final Friend friend;
@override
Widget build(BuildContext context) {
return ListTile(
leading: CachedNetworkImage(
imageBuilder: (context, imageProvider) {
return CircleAvatar(
foregroundImage: imageProvider,
);
},
imageUrl: friend.userProfile.httpIconUri.toString(),
placeholder: (context, url) {
return const CircleAvatar(backgroundColor: Colors.white54,);
},
errorWidget: (context, error, what) => const CircleAvatar(
backgroundColor: Colors.transparent,
child: Icon(Icons.person),
),
),
title: Text(friend.username),
subtitle: Text(friend.userStatus.onlineStatus.name),
onTap: () {
Navigator.of(context).push(MaterialPageRoute(builder: (context) => Messages(friend: friend)));
},
);
}
}