From 80837beaa8aae2eccee5495516de0038a5f63673 Mon Sep 17 00:00:00 2001 From: Tommy Chow Date: Mon, 23 Dec 2024 17:40:00 -0500 Subject: [PATCH] use badge for historical message indicator --- lib/models/irc.dart | 15 ++++++++++++++ .../channel/chat/widgets/chat_message.dart | 9 --------- lib/screens/settings/chat_settings.dart | 9 --------- .../settings/stores/settings_store.dart | 6 ------ .../settings/stores/settings_store.g.dart | 20 ------------------- 5 files changed, 15 insertions(+), 44 deletions(-) diff --git a/lib/models/irc.dart b/lib/models/irc.dart index d83d0306..eb4b25d7 100644 --- a/lib/models/irc.dart +++ b/lib/models/irc.dart @@ -170,6 +170,21 @@ class IRCMessage { } } + final isHistorical = tags['historical'] == '1'; + if (isHistorical) { + span.add( + WidgetSpan( + child: Tooltip( + message: 'Historical message', + preferBelow: false, + triggerMode: TooltipTriggerMode.tap, + child: Icon(Icons.history_rounded, size: badgeSize), + ), + ), + ); + span.add(const TextSpan(text: ' ')); + } + final sourceChannelId = tags['source-room-id'] ?? tags['room-id']; final sourceChannelUser = channelIdToUserTwitch != null ? channelIdToUserTwitch[sourceChannelId] diff --git a/lib/screens/channel/chat/widgets/chat_message.dart b/lib/screens/channel/chat/widgets/chat_message.dart index 01249a3d..72fc8df0 100644 --- a/lib/screens/channel/chat/widgets/chat_message.dart +++ b/lib/screens/channel/chat/widgets/chat_message.dart @@ -456,15 +456,6 @@ class ChatMessage extends StatelessWidget { child: coloredMessage, ); - final isHistorical = ircMessage.tags['historical'] == '1'; - - if (chatStore.settings.darkenRecentMessages && isHistorical) { - return Opacity( - opacity: 0.5, - child: finalMessage, - ); - } - return finalMessage; }, ); diff --git a/lib/screens/settings/chat_settings.dart b/lib/screens/settings/chat_settings.dart index 3864f97f..2cd1ab43 100644 --- a/lib/screens/settings/chat_settings.dart +++ b/lib/screens/settings/chat_settings.dart @@ -372,15 +372,6 @@ class _ChatSettingsState extends State { onChanged: (newValue) => settingsStore.showRecentMessages = newValue, ), - SettingsListSwitch( - title: 'Darken historical recent messages', - subtitle: const Text( - 'Makes historical recent messages 50% opacity to distinguish them from live messages.', - ), - value: settingsStore.darkenRecentMessages, - onChanged: (newValue) => - settingsStore.darkenRecentMessages = newValue, - ), ], ), ); diff --git a/lib/screens/settings/stores/settings_store.dart b/lib/screens/settings/stores/settings_store.dart index 337a39ac..c0edb78f 100644 --- a/lib/screens/settings/stores/settings_store.dart +++ b/lib/screens/settings/stores/settings_store.dart @@ -162,7 +162,6 @@ abstract class _SettingsStoreBase with Store { // Recent messages defaults static const defaultShowRecentMessages = false; - static const defaultDarkenRecentMessages = true; // Message sizing options @JsonKey(defaultValue: defaultBadgeScale) @@ -301,10 +300,6 @@ abstract class _SettingsStoreBase with Store { @observable var showRecentMessages = defaultShowRecentMessages; - @JsonKey(defaultValue: defaultDarkenRecentMessages) - @observable - var darkenRecentMessages = defaultDarkenRecentMessages; - @JsonKey(defaultValue: defaultMutedWords) @observable List mutedWords = defaultMutedWords; @@ -358,7 +353,6 @@ abstract class _SettingsStoreBase with Store { showFFZBadges = defaultShowFFZBadges; showRecentMessages = defaultShowRecentMessages; - darkenRecentMessages = defaultDarkenRecentMessages; } // * Other settings diff --git a/lib/screens/settings/stores/settings_store.g.dart b/lib/screens/settings/stores/settings_store.g.dart index 84901381..fe685cca 100644 --- a/lib/screens/settings/stores/settings_store.g.dart +++ b/lib/screens/settings/stores/settings_store.g.dart @@ -63,7 +63,6 @@ SettingsStore _$SettingsStoreFromJson(Map json) => ..showFFZEmotes = json['showFFZEmotes'] as bool? ?? true ..showFFZBadges = json['showFFZBadges'] as bool? ?? true ..showRecentMessages = json['showRecentMessages'] as bool? ?? false - ..darkenRecentMessages = json['darkenRecentMessages'] as bool? ?? true ..mutedWords = (json['mutedWords'] as List?) ?.map((e) => e as String) .toList() ?? @@ -123,7 +122,6 @@ Map _$SettingsStoreToJson(SettingsStore instance) => 'showFFZEmotes': instance.showFFZEmotes, 'showFFZBadges': instance.showFFZBadges, 'showRecentMessages': instance.showRecentMessages, - 'darkenRecentMessages': instance.darkenRecentMessages, 'mutedWords': instance.mutedWords, 'matchWholeWord': instance.matchWholeWord, 'shareCrashLogsAndAnalytics': instance.shareCrashLogsAndAnalytics, @@ -840,23 +838,6 @@ mixin _$SettingsStore on _SettingsStoreBase, Store { }); } - late final _$darkenRecentMessagesAtom = - Atom(name: '_SettingsStoreBase.darkenRecentMessages', context: context); - - @override - bool get darkenRecentMessages { - _$darkenRecentMessagesAtom.reportRead(); - return super.darkenRecentMessages; - } - - @override - set darkenRecentMessages(bool value) { - _$darkenRecentMessagesAtom.reportWrite(value, super.darkenRecentMessages, - () { - super.darkenRecentMessages = value; - }); - } - late final _$mutedWordsAtom = Atom(name: '_SettingsStoreBase.mutedWords', context: context); @@ -1069,7 +1050,6 @@ showBTTVBadges: ${showBTTVBadges}, showFFZEmotes: ${showFFZEmotes}, showFFZBadges: ${showFFZBadges}, showRecentMessages: ${showRecentMessages}, -darkenRecentMessages: ${darkenRecentMessages}, mutedWords: ${mutedWords}, matchWholeWord: ${matchWholeWord}, shareCrashLogsAndAnalytics: ${shareCrashLogsAndAnalytics},