mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
fix: search suggest text color
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -29,16 +29,16 @@ class SearchSuggestItem {
|
|||||||
String? value;
|
String? value;
|
||||||
String? term;
|
String? term;
|
||||||
int? spid;
|
int? spid;
|
||||||
Widget? textRich;
|
dynamic textRich;
|
||||||
|
|
||||||
SearchSuggestItem.fromJson(Map<String, dynamic> json, String inputTerm) {
|
SearchSuggestItem.fromJson(Map<String, dynamic> json, String inputTerm) {
|
||||||
value = json['value'];
|
value = json['value'];
|
||||||
term = json['term'];
|
term = json['term'];
|
||||||
textRich = highlightText(json['name']);
|
textRich = json['name'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget highlightText(String str) {
|
Widget highlightText(BuildContext context, String str) {
|
||||||
// 创建正则表达式,匹配 <em class="suggest_high_light">...</em> 格式的文本
|
// 创建正则表达式,匹配 <em class="suggest_high_light">...</em> 格式的文本
|
||||||
RegExp regex = RegExp(r'<em class="suggest_high_light">(.*?)<\/em>');
|
RegExp regex = RegExp(r'<em class="suggest_high_light">(.*?)<\/em>');
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ Widget highlightText(String str) {
|
|||||||
text: highlightedText,
|
text: highlightedText,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Theme.of(Get.context!).colorScheme.primary),
|
color: Theme.of(context).colorScheme.primary),
|
||||||
));
|
));
|
||||||
|
|
||||||
// 更新当前索引位置
|
// 更新当前索引位置
|
||||||
@@ -86,7 +86,7 @@ Widget highlightText(String str) {
|
|||||||
// 将剩余的普通文本部分添加到 children 列表中
|
// 将剩余的普通文本部分添加到 children 列表中
|
||||||
children.add(TextSpan(
|
children.add(TextSpan(
|
||||||
text: remainingText,
|
text: remainingText,
|
||||||
style: DefaultTextStyle.of(Get.context!).style,
|
style: DefaultTextStyle.of(context).style,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:PiliPalaX/common/widgets/loading_widget.dart';
|
import 'package:PiliPalaX/common/widgets/loading_widget.dart';
|
||||||
import 'package:PiliPalaX/http/loading_state.dart';
|
import 'package:PiliPalaX/http/loading_state.dart';
|
||||||
|
import 'package:PiliPalaX/models/search/suggest.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'controller.dart';
|
import 'controller.dart';
|
||||||
@@ -92,7 +93,7 @@ class _SearchPageState extends State<SearchPage> with RouteAware {
|
|||||||
top: 9,
|
top: 9,
|
||||||
bottom: 9,
|
bottom: 9,
|
||||||
),
|
),
|
||||||
child: item.textRich,
|
child: highlightText(context, item.textRich),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user