use jiffy for date format
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:jiffy/jiffy.dart';
|
||||||
import 'package:stream_chat/stream_chat.dart';
|
import 'package:stream_chat/stream_chat.dart';
|
||||||
import 'package:stream_chat_flutter/src/channel_name.dart';
|
import 'package:stream_chat_flutter/src/channel_name.dart';
|
||||||
import 'package:stream_chat_flutter/src/stream_chat_theme.dart';
|
import 'package:stream_chat_flutter/src/stream_chat_theme.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
|
||||||
|
|
||||||
import './channel_name.dart';
|
import './channel_name.dart';
|
||||||
import 'channel_image.dart';
|
import 'channel_image.dart';
|
||||||
@@ -107,7 +107,7 @@ class ChannelHeader extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
return (snapshot.data != null)
|
return (snapshot.data != null)
|
||||||
? Text(
|
? Text(
|
||||||
'Active ${timeago.format(snapshot.data)}',
|
'Active ${Jiffy(snapshot.data.toLocal()).fromNow()}',
|
||||||
style: StreamChatTheme.of(context)
|
style: StreamChatTheme.of(context)
|
||||||
.channelTheme
|
.channelTheme
|
||||||
.channelHeaderTheme
|
.channelHeaderTheme
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:date_format/date_format.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:jiffy/jiffy.dart';
|
||||||
import 'package:stream_chat/stream_chat.dart';
|
import 'package:stream_chat/stream_chat.dart';
|
||||||
|
|
||||||
import '../stream_chat_flutter.dart';
|
import '../stream_chat_flutter.dart';
|
||||||
@@ -67,12 +67,9 @@ class ChannelPreview extends StatelessWidget {
|
|||||||
if (now.year != lastMessageAt.year ||
|
if (now.year != lastMessageAt.year ||
|
||||||
now.month != lastMessageAt.month ||
|
now.month != lastMessageAt.month ||
|
||||||
now.day != lastMessageAt.day) {
|
now.day != lastMessageAt.day) {
|
||||||
stringDate =
|
stringDate = Jiffy(lastMessageAt.toLocal()).format('dd/MM/yyyy');
|
||||||
'${lastMessageAt.day}/${lastMessageAt.month}/${lastMessageAt.year}';
|
|
||||||
stringDate = formatDate(lastMessageAt, [dd, '/', mm, '/', yyyy]);
|
|
||||||
} else {
|
} else {
|
||||||
stringDate = '${lastMessageAt.hour}:${lastMessageAt.minute}';
|
stringDate = Jiffy(lastMessageAt.toLocal()).format('HH:mm');
|
||||||
stringDate = formatDate(lastMessageAt, [HH, ':', nn]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Text(
|
return Text(
|
||||||
|
|||||||
@@ -328,7 +328,9 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
|
|
||||||
_streamListener = stream.listen((newMessages) {
|
_streamListener = stream.listen((newMessages) {
|
||||||
newMessages = newMessages.reversed.toList();
|
newMessages = newMessages.reversed.toList();
|
||||||
if (_messages.isEmpty || newMessages.first.id != _messages.first.id) {
|
if (_messages.isEmpty ||
|
||||||
|
newMessages.isEmpty ||
|
||||||
|
newMessages.first.id != _messages.first.id) {
|
||||||
if (!_scrollController.hasClients ||
|
if (!_scrollController.hasClients ||
|
||||||
_scrollController.offset < _newMessageLoadingOffset) {
|
_scrollController.offset < _newMessageLoadingOffset) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import 'dart:math';
|
|||||||
|
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:chewie/chewie.dart';
|
import 'package:chewie/chewie.dart';
|
||||||
import 'package:date_format/date_format.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_markdown/flutter_markdown.dart';
|
import 'package:flutter_markdown/flutter_markdown.dart';
|
||||||
|
import 'package:jiffy/jiffy.dart';
|
||||||
import 'package:stream_chat/stream_chat.dart';
|
import 'package:stream_chat/stream_chat.dart';
|
||||||
import 'package:stream_chat_flutter/src/message_input.dart';
|
import 'package:stream_chat_flutter/src/message_input.dart';
|
||||||
import 'package:stream_chat_flutter/src/message_list_view.dart';
|
import 'package:stream_chat_flutter/src/message_list_view.dart';
|
||||||
@@ -457,6 +457,7 @@ class _MessageWidgetState extends State<MessageWidget>
|
|||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
child: IntrinsicWidth(child: column),
|
child: IntrinsicWidth(child: column),
|
||||||
onLongPress: () {
|
onLongPress: () {
|
||||||
|
print('widget.message.type: ${widget.message.type}');
|
||||||
if (widget.message.type == 'ephemeral') {
|
if (widget.message.type == 'ephemeral') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -809,7 +810,7 @@ class _MessageWidgetState extends State<MessageWidget>
|
|||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(top: 5.0),
|
padding: const EdgeInsets.only(top: 5.0),
|
||||||
child: Text(
|
child: Text(
|
||||||
formatDate(widget.message.createdAt.toLocal(), [HH, ':', nn]),
|
Jiffy(widget.message.createdAt.toLocal()).format('HH:mm'),
|
||||||
style: messageTheme.createdAt,
|
style: messageTheme.createdAt,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
+1
-2
@@ -11,8 +11,7 @@ dependencies:
|
|||||||
sdk: flutter
|
sdk: flutter
|
||||||
rxdart: ^0.23.1
|
rxdart: ^0.23.1
|
||||||
flutter_widgets: ^0.1.10
|
flutter_widgets: ^0.1.10
|
||||||
timeago: ^2.0.26
|
jiffy: ^3.0.0
|
||||||
date_format: ^1.0.8
|
|
||||||
cached_network_image: ^2.0.0
|
cached_network_image: ^2.0.0
|
||||||
flutter_markdown: ^0.3.3
|
flutter_markdown: ^0.3.3
|
||||||
url_launcher: ^5.4.1
|
url_launcher: ^5.4.1
|
||||||
|
|||||||
Reference in New Issue
Block a user