From 109fe3e278403efe27a34af2395d075c4d93b997 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 10 Jul 2025 11:47:43 -0400 Subject: [PATCH] chore: if token is highlighted while playing audio, always show underline color (#3392) --- lib/pages/chat/events/html_message.dart | 10 ++++++++++ lib/pages/chat/events/message_content.dart | 8 ++------ lib/pangea/toolbar/utils/token_rendering_util.dart | 12 ++++++++---- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index 160b34857..696a3b063 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -46,6 +46,7 @@ class HtmlMessage extends StatelessWidget { final bool isTransitionAnimation; final ReadingAssistanceMode? readingAssistanceMode; + final bool Function(PangeaToken)? isHighlighted; final bool Function(PangeaToken)? isSelected; final void Function(PangeaToken)? onClick; // Pangea# @@ -68,6 +69,7 @@ class HtmlMessage extends StatelessWidget { required this.controller, this.nextEvent, this.prevEvent, + this.isHighlighted, this.isSelected, this.onClick, this.isTransitionAnimation = false, @@ -388,6 +390,10 @@ class HtmlMessage extends StatelessWidget { ? isSelected!.call(token) : false; + final highlighted = token != null && isHighlighted != null + ? isHighlighted!.call(token) + : false; + final isNew = token != null && overlayController != null && overlayController!.isNewToken(token); @@ -423,6 +429,7 @@ class HtmlMessage extends StatelessWidget { color: renderer.backgroundColor( context, selected, + highlighted, isNew, ), ), @@ -447,6 +454,7 @@ class HtmlMessage extends StatelessWidget { color: renderer.backgroundColor( context, selected, + highlighted, isNew, ), ), @@ -585,6 +593,7 @@ class HtmlMessage extends StatelessWidget { context, false, false, + false, ), ), ), @@ -601,6 +610,7 @@ class HtmlMessage extends StatelessWidget { context, false, false, + false, ), ), // Pangea# diff --git a/lib/pages/chat/events/message_content.dart b/lib/pages/chat/events/message_content.dart index b57d8472d..de7601493 100644 --- a/lib/pages/chat/events/message_content.dart +++ b/lib/pages/chat/events/message_content.dart @@ -155,11 +155,6 @@ class MessageContent extends StatelessWidget { selectedToken: token, ); } - - bool isSelected(PangeaToken token) { - return overlayController!.isTokenSelected(token) || - overlayController!.isTokenHighlighted(token); - } // Pangea# @override @@ -367,7 +362,8 @@ class MessageContent extends StatelessWidget { pangeaMessageEvent: pangeaMessageEvent, nextEvent: nextEvent, prevEvent: prevEvent, - isSelected: overlayController != null ? isSelected : null, + isHighlighted: overlayController?.isTokenHighlighted, + isSelected: overlayController?.isTokenSelected, onClick: event.isActivityMessage ? null : onClick, isTransitionAnimation: isTransitionAnimation, readingAssistanceMode: readingAssistanceMode, diff --git a/lib/pangea/toolbar/utils/token_rendering_util.dart b/lib/pangea/toolbar/utils/token_rendering_util.dart index 2a61659a5..6e4304b10 100644 --- a/lib/pangea/toolbar/utils/token_rendering_util.dart +++ b/lib/pangea/toolbar/utils/token_rendering_util.dart @@ -86,10 +86,14 @@ class TokenRenderingUtil { } } - Color backgroundColor(BuildContext context, bool selected, bool isNew) { - if (isNew) { - return AppConfig.success; - } + Color backgroundColor( + BuildContext context, + bool selected, + bool highlighted, + bool isNew, + ) { + if (highlighted) return Theme.of(context).colorScheme.primary; + if (isNew) return AppConfig.success; return selected ? Theme.of(context).colorScheme.primary : Colors.white.withAlpha(0);