From 5cef917e511538342e855e0d22d1a4d2f4d79077 Mon Sep 17 00:00:00 2001 From: Deven Joshi Date: Wed, 9 Dec 2020 13:35:28 +0530 Subject: [PATCH] feat: Added implementation for last seen --- lib/src/chat_info_screen.dart | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/src/chat_info_screen.dart b/lib/src/chat_info_screen.dart index 92ee4446..9ef80c9e 100644 --- a/lib/src/chat_info_screen.dart +++ b/lib/src/chat_info_screen.dart @@ -1,6 +1,7 @@ import 'package:emojis/emojis.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:jiffy/jiffy.dart'; import '../stream_chat_flutter.dart'; @@ -62,7 +63,7 @@ class _ChatInfoScreenState extends State { style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold), ), SizedBox(height: 7.0), - Text('Online for 5 minutes'), + _buildConnectedTitleState(), SizedBox(height: 15.0), _OptionListTile( title: '@user', @@ -279,6 +280,31 @@ class _ChatInfoScreenState extends State { ); }); } + + Widget _buildConnectedTitleState() { + var alternativeWidget; + + final otherMember = widget.user; + + if (otherMember != null) { + if (otherMember.online) { + alternativeWidget = Text( + 'Online', + style: StreamChatTheme.of(context) + .channelTheme + .channelHeaderTheme + .lastMessageAt, + ); + } else { + alternativeWidget = Text( + 'Last seen ${Jiffy(otherMember.lastActive).fromNow()}', + //style: textStyle, + ); + } + } + + return alternativeWidget; + } } class _OptionListTile extends StatelessWidget {