import 'package:comunic/models/conversation.dart'; import 'package:comunic/utils/date_utils.dart'; import 'package:comunic/utils/intl_utils.dart'; import 'package:flutter/material.dart'; /// Single conversation tile /// /// @author Pierre HUBERT class ConversationTile extends StatelessWidget { final Conversation conversation; const ConversationTile({Key key, this.conversation}) : super(key: key); _buildSubInformation(IconData icon, String content) { return Row( children: [ Icon( icon, size: 15.0, color: Colors.grey, ), Text(" " + content), ], ); } @override Widget build(BuildContext context) { return ListTile( title: Text(conversation.name == null ? "Unknown" : conversation.name), leading: Icon( conversation.sawLastMessage ? Icons.check_circle : Icons.lens, color: conversation.sawLastMessage ? null : Colors.blue, ), isThreeLine: true, subtitle: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ _buildSubInformation( Icons.access_time, diffTimeFromNowToStr(conversation.lastActive)), _buildSubInformation( Icons.group, conversation.members.length == 1 ? tr("1 member") : tr( "%num% members", args: { "num": conversation.members.length.toString(), }, ), ), ], ), ); } }