From 6acd98d0bc338eb38c4b5c994dbc95cc30c11d55 Mon Sep 17 00:00:00 2001 From: Linloir <3145078758@qq.com> Date: Thu, 20 Oct 2022 17:32:09 +0800 Subject: [PATCH] Improvements: - Avoid image searching in history - History search ignore case match --- .../local_service_repository.dart | 8 ++--- lib/search/view/search_bar.dart | 32 ++++++++++++++++--- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/lib/repositories/local_service_repository/local_service_repository.dart b/lib/repositories/local_service_repository/local_service_repository.dart index 1abad6f..be76788 100644 --- a/lib/repositories/local_service_repository/local_service_repository.dart +++ b/lib/repositories/local_service_repository/local_service_repository.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-11 10:56:02 - * @LastEditTime : 2022-10-19 10:28:21 + * @LastEditTime : 2022-10-20 17:24:26 * @Description : Local Service Repository */ @@ -151,9 +151,9 @@ class LocalServiceRepository { var currentUserID = pref.getInt('userid'); var rawMessages = await _database.query( 'msgs', - where: '(userid = ? or targetid = ?)', + where: '(userid = ? or targetid = ?) and not contenttype = ?', whereArgs: [ - currentUserID, currentUserID + currentUserID, currentUserID, MessageType.image.literal ], orderBy: 'timestamp desc', limit: 100 @@ -161,7 +161,7 @@ class LocalServiceRepository { List alikeMessages = []; for(var rawMessage in rawMessages) { var message = Message.fromJSONObject(jsonObject: rawMessage); - if(message.contentDecoded.contains(pattern)) { + if(message.contentDecoded.toLowerCase().contains(pattern.toLowerCase())) { alikeMessages.add(message); } } diff --git a/lib/search/view/search_bar.dart b/lib/search/view/search_bar.dart index f103a4c..97bbc4b 100644 --- a/lib/search/view/search_bar.dart +++ b/lib/search/view/search_bar.dart @@ -1,7 +1,7 @@ /* * @Author : Linloir * @Date : 2022-10-13 17:06:52 - * @LastEditTime : 2022-10-13 21:35:11 + * @LastEditTime : 2022-10-20 17:30:37 * @Description : */ @@ -14,10 +14,32 @@ class SearchBar extends StatelessWidget { @override Widget build(BuildContext context) { - return TextField( - onChanged: (value) { - context.read().onKeyChanged(value); - }, + return Padding( + padding: const EdgeInsets.symmetric(vertical: 2.0), + child: TextField( + onChanged: (value) { + context.read().onKeyChanged(value); + }, + style: const TextStyle( + color: Colors.white, + fontSize: 18.0 + ), + showCursor: true, + cursorColor: Colors.white, + decoration: const InputDecoration( + border: InputBorder.none + // errorBorder: UnderlineInputBorder( + // borderSide: BorderSide(color: Colors.red, width: 2.0) + // ), + // disabledBorder: InputBorder.none, + // enabledBorder: UnderlineInputBorder( + // borderSide: BorderSide(color: Colors.blue, width: 2.0) + // ), + // focusedBorder: UnderlineInputBorder( + // borderSide: BorderSide(color: Colors.white, width: 2.0) + // ) + ), + ), ); } }