From 8d2934f14220c18def11f79bad007e10ff7fd5ad Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 19 Mar 2021 12:26:08 +0100 Subject: [PATCH 1/3] apply locale to jiffy --- packages/stream_chat_flutter/lib/src/channel_preview.dart | 4 ++-- packages/stream_chat_flutter/lib/src/date_divider.dart | 6 +++--- .../stream_chat_flutter/lib/src/full_screen_media.dart | 2 +- .../stream_chat_flutter/lib/src/message_search_item.dart | 4 ++-- packages/stream_chat_flutter/lib/src/stream_chat.dart | 8 ++++++++ 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/channel_preview.dart b/packages/stream_chat_flutter/lib/src/channel_preview.dart index 9ba34f3a..3243988b 100644 --- a/packages/stream_chat_flutter/lib/src/channel_preview.dart +++ b/packages/stream_chat_flutter/lib/src/channel_preview.dart @@ -170,14 +170,14 @@ class ChannelPreview extends StatelessWidget { if (lastMessageAt.millisecondsSinceEpoch >= startOfDay.millisecondsSinceEpoch) { - stringDate = Jiffy(lastMessageAt.toLocal()).format('HH:mm'); + stringDate = Jiffy(lastMessageAt.toLocal()).jm; } else if (lastMessageAt.millisecondsSinceEpoch >= startOfDay.subtract(Duration(days: 1)).millisecondsSinceEpoch) { stringDate = 'Yesterday'; } else if (startOfDay.difference(lastMessageAt).inDays < 7) { stringDate = Jiffy(lastMessageAt.toLocal()).EEEE; } else { - stringDate = Jiffy(lastMessageAt.toLocal()).format('dd/MM/yyyy'); + stringDate = Jiffy(lastMessageAt.toLocal()).yMd; } return Text( diff --git a/packages/stream_chat_flutter/lib/src/date_divider.dart b/packages/stream_chat_flutter/lib/src/date_divider.dart index c7cfe296..20b8151d 100644 --- a/packages/stream_chat_flutter/lib/src/date_divider.dart +++ b/packages/stream_chat_flutter/lib/src/date_divider.dart @@ -28,14 +28,14 @@ class DateDivider extends StatelessWidget { now.subtract(Duration(days: 7)), Units.DAY, )) { - dayInfo = createdAt.format('EEEE'); + dayInfo = createdAt.EEEE; } else if (Jiffy(createdAt).isAfter( Jiffy(now).subtract(years: 1), Units.DAY, )) { - dayInfo = createdAt.format('MMMM d'); + dayInfo = createdAt.MMMd; } else { - dayInfo = createdAt.format('MMMM d'); + dayInfo = createdAt.MMMd; } if (uppercase) dayInfo = dayInfo.toUpperCase(); diff --git a/packages/stream_chat_flutter/lib/src/full_screen_media.dart b/packages/stream_chat_flutter/lib/src/full_screen_media.dart index 88c20a51..91c66ca4 100644 --- a/packages/stream_chat_flutter/lib/src/full_screen_media.dart +++ b/packages/stream_chat_flutter/lib/src/full_screen_media.dart @@ -220,7 +220,7 @@ class _FullScreenMediaState extends State 24) { return 'yesterday'; } else { - return 'on ${Jiffy(dateTime).format("MMM do")}'; + return 'on ${Jiffy(dateTime).MMMd}'; } } diff --git a/packages/stream_chat_flutter/lib/src/message_search_item.dart b/packages/stream_chat_flutter/lib/src/message_search_item.dart index 335f7ff4..4cf7b5ed 100644 --- a/packages/stream_chat_flutter/lib/src/message_search_item.dart +++ b/packages/stream_chat_flutter/lib/src/message_search_item.dart @@ -84,9 +84,9 @@ class MessageSearchItem extends StatelessWidget { if (now.year != createdAt.year || now.month != createdAt.month || now.day != createdAt.day) { - stringDate = Jiffy(createdAt.toLocal()).format('dd/MM/yyyy'); + stringDate = Jiffy(createdAt.toLocal()).yMd; } else { - stringDate = Jiffy(createdAt.toLocal()).format('HH:mm'); + stringDate = Jiffy(createdAt.toLocal()).jm; } return Text( diff --git a/packages/stream_chat_flutter/lib/src/stream_chat.dart b/packages/stream_chat_flutter/lib/src/stream_chat.dart index 66b49d88..8ad751b0 100644 --- a/packages/stream_chat_flutter/lib/src/stream_chat.dart +++ b/packages/stream_chat_flutter/lib/src/stream_chat.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_portal/flutter_portal.dart'; +import 'package:jiffy/jiffy.dart'; import 'package:stream_chat_flutter/src/stream_chat_theme.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart'; @@ -121,4 +122,11 @@ class StreamChatState extends State { void initState() { super.initState(); } + + @override + void didChangeDependencies() { + final locals = Localizations.localeOf(context); + Jiffy.locale(locals.languageCode); + super.didChangeDependencies(); + } } From 1f503fbc98f3d96645a2cf79f9909268d0fbbd59 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 19 Mar 2021 13:00:39 +0100 Subject: [PATCH 2/3] fix test --- packages/stream_chat_flutter/test/src/channel_preview_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/stream_chat_flutter/test/src/channel_preview_test.dart b/packages/stream_chat_flutter/test/src/channel_preview_test.dart index 34b9bf92..094c74a5 100644 --- a/packages/stream_chat_flutter/test/src/channel_preview_test.dart +++ b/packages/stream_chat_flutter/test/src/channel_preview_test.dart @@ -69,7 +69,7 @@ void main() { ), )); - expect(find.text('22/06/2020'), findsOneWidget); + expect(find.text('6/22/2020'), findsOneWidget); expect(find.text('test name'), findsOneWidget); expect(find.text('1'), findsOneWidget); expect(find.text('hello'), findsOneWidget); From 06718b84fd689af4784478f016215048206443a8 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Fri, 19 Mar 2021 16:37:59 +0100 Subject: [PATCH 3/3] fix locale --- packages/stream_chat_flutter/lib/src/stream_chat.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/stream_chat.dart b/packages/stream_chat_flutter/lib/src/stream_chat.dart index 8ad751b0..470591e7 100644 --- a/packages/stream_chat_flutter/lib/src/stream_chat.dart +++ b/packages/stream_chat_flutter/lib/src/stream_chat.dart @@ -7,6 +7,7 @@ import 'package:jiffy/jiffy.dart'; import 'package:stream_chat_flutter/src/stream_chat_theme.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_chat_flutter_core/stream_chat_flutter_core.dart'; +import 'dart:ui' as ui; /// Widget used to provide information about the chat to the widget tree /// @@ -125,8 +126,8 @@ class StreamChatState extends State { @override void didChangeDependencies() { - final locals = Localizations.localeOf(context); - Jiffy.locale(locals.languageCode); + final locale = ui.window.locale; + Jiffy.locale(locale.languageCode); super.didChangeDependencies(); } }