implemented in-chat search with text highlighting, added search navigation UI, and integrated scrollable list for message jumping

This commit is contained in:
2026-05-09 22:21:36 +02:00
parent b36d1e02f5
commit 4c190de479
9 changed files with 698 additions and 36 deletions
+8 -3
View File
@@ -1,12 +1,12 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import '../../../../api/marianumcloud/talk/chat/get_chat_response.dart';
import '../../../../api/marianumcloud/talk/chat/rich_object_string_processor.dart';
import '../../../../model/account_data.dart';
import '../../../../model/endpoint_data.dart';
import '../../../../utils/url_opener.dart';
import '../widgets/highlighted_linkify.dart';
class ChatMessage {
String originalMessage;
@@ -27,8 +27,13 @@ class ChatMessage {
);
}
Widget getWidget() {
var contentWidget = Linkify(text: content, onOpen: UrlOpener.onOpen);
Widget getWidget({String? highlightQuery, TextStyle? style}) {
var contentWidget = HighlightedLinkify(
text: content,
onOpen: UrlOpener.onOpen,
highlight: highlightQuery,
style: style,
);
if (originalData?['object']?.type == RichObjectStringObjectType.talkPoll) {
return ListTile(