mirror of
https://github.com/tommyxchow/frosty.git
synced 2025-08-06 17:48:14 +08:00
use badge for historical message indicator
This commit is contained in:
@ -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]
|
||||
|
@ -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;
|
||||
},
|
||||
);
|
||||
|
@ -372,15 +372,6 @@ class _ChatSettingsState extends State<ChatSettings> {
|
||||
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,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
@ -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<String> mutedWords = defaultMutedWords;
|
||||
@ -358,7 +353,6 @@ abstract class _SettingsStoreBase with Store {
|
||||
showFFZBadges = defaultShowFFZBadges;
|
||||
|
||||
showRecentMessages = defaultShowRecentMessages;
|
||||
darkenRecentMessages = defaultDarkenRecentMessages;
|
||||
}
|
||||
|
||||
// * Other settings
|
||||
|
@ -63,7 +63,6 @@ SettingsStore _$SettingsStoreFromJson(Map<String, dynamic> 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<dynamic>?)
|
||||
?.map((e) => e as String)
|
||||
.toList() ??
|
||||
@ -123,7 +122,6 @@ Map<String, dynamic> _$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},
|
||||
|
Reference in New Issue
Block a user