import 'package:flutter/material.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:go_router/go_router.dart'; import 'package:hive_flutter/hive_flutter.dart'; import '/database/box_type.dart'; import '/models/contact_model.dart'; import '/models/init_get_it.dart'; import '/request/server.dart'; class GroupChatTile extends StatelessWidget { const GroupChatTile({ super.key, required this.groupChatId, }); final String groupChatId; @override Widget build(BuildContext context) { return InkWell( onTap: () async { await Hive.openBox<MessageT>('message_$groupChatId'); // ignore: use_build_context_synchronously context.goNamed( 'Message', queryParameters: {'groupChatId': groupChatId, 'type': '1'}, ); }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 10.0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ const SizedBox( width: 10.0, ), CircleAvatar( backgroundImage: CachedNetworkImageProvider( '$groupChatAvatarsUrl/${getIt.get<ContactAccountProfile>().groupChats[groupChatId]!.avatar}', ), ), const SizedBox( width: 10.0, ), Text( getIt .get<Contact>() .groupChats[groupChatId]! .groupChatRemark .isEmpty ? getIt<ContactAccountProfile>().groupChats[groupChatId]!.name : getIt .get<Contact>() .groupChats[groupChatId]! .groupChatRemark, overflow: TextOverflow.ellipsis, style: const TextStyle(fontSize: 17), ), const SizedBox( width: 10.0, ), ], ), ), ); } }