[mob][photos] Search field fixes (#1464)

## Description

See commits.
This commit is contained in:
Ashil 2024-04-16 17:49:28 +05:30 committed by GitHub
parent 415fa79271
commit 45942f7931
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 53 additions and 17 deletions

View file

@ -55,6 +55,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Modify your query, or try searching for"), "Modify your query, or try searching for"),
"moveToHiddenAlbum": "moveToHiddenAlbum":
MessageLookupByLibrary.simpleMessage("Move to hidden album"), MessageLookupByLibrary.simpleMessage("Move to hidden album"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"selectALocation": "selectALocation":
MessageLookupByLibrary.simpleMessage("Select a location"), MessageLookupByLibrary.simpleMessage("Select a location"),
"selectALocationFirst": "selectALocationFirst":

View file

@ -1213,6 +1213,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Scanne diesen Code mit \ndeiner Authentifizierungs-App"), "Scanne diesen Code mit \ndeiner Authentifizierungs-App"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchAlbumsEmptySection": "searchAlbumsEmptySection":
MessageLookupByLibrary.simpleMessage("Alben"), MessageLookupByLibrary.simpleMessage("Alben"),
"searchByAlbumNameHint": "searchByAlbumNameHint":

View file

@ -1175,6 +1175,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Scan this barcode with\nyour authenticator app"), "Scan this barcode with\nyour authenticator app"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchAlbumsEmptySection": "searchAlbumsEmptySection":
MessageLookupByLibrary.simpleMessage("Albums"), MessageLookupByLibrary.simpleMessage("Albums"),
"searchByAlbumNameHint": "searchByAlbumNameHint":

View file

@ -1044,6 +1044,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Escanea este código QR con tu aplicación de autenticación"), "Escanea este código QR con tu aplicación de autenticación"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchByAlbumNameHint": "searchByAlbumNameHint":
MessageLookupByLibrary.simpleMessage("Nombre del álbum"), MessageLookupByLibrary.simpleMessage("Nombre del álbum"),
"searchByExamples": MessageLookupByLibrary.simpleMessage( "searchByExamples": MessageLookupByLibrary.simpleMessage(

View file

@ -1182,6 +1182,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Scannez ce code-barres avec\nvotre application d\'authentification"), "Scannez ce code-barres avec\nvotre application d\'authentification"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchAlbumsEmptySection": "searchAlbumsEmptySection":
MessageLookupByLibrary.simpleMessage("Albums"), MessageLookupByLibrary.simpleMessage("Albums"),
"searchByAlbumNameHint": "searchByAlbumNameHint":

View file

@ -1137,6 +1137,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Scansione questo codice QR\ncon la tua app di autenticazione"), "Scansione questo codice QR\ncon la tua app di autenticazione"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchByAlbumNameHint": "searchByAlbumNameHint":
MessageLookupByLibrary.simpleMessage("Nome album"), MessageLookupByLibrary.simpleMessage("Nome album"),
"searchByExamples": MessageLookupByLibrary.simpleMessage( "searchByExamples": MessageLookupByLibrary.simpleMessage(

View file

@ -55,6 +55,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Modify your query, or try searching for"), "Modify your query, or try searching for"),
"moveToHiddenAlbum": "moveToHiddenAlbum":
MessageLookupByLibrary.simpleMessage("Move to hidden album"), MessageLookupByLibrary.simpleMessage("Move to hidden album"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"selectALocation": "selectALocation":
MessageLookupByLibrary.simpleMessage("Select a location"), MessageLookupByLibrary.simpleMessage("Select a location"),
"selectALocationFirst": "selectALocationFirst":

View file

@ -1206,6 +1206,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Scan deze barcode met\nje authenticator app"), "Scan deze barcode met\nje authenticator app"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchAlbumsEmptySection": "searchAlbumsEmptySection":
MessageLookupByLibrary.simpleMessage("Albums"), MessageLookupByLibrary.simpleMessage("Albums"),
"searchByAlbumNameHint": "searchByAlbumNameHint":

View file

@ -77,6 +77,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Modify your query, or try searching for"), "Modify your query, or try searching for"),
"moveToHiddenAlbum": "moveToHiddenAlbum":
MessageLookupByLibrary.simpleMessage("Move to hidden album"), MessageLookupByLibrary.simpleMessage("Move to hidden album"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"selectALocation": "selectALocation":
MessageLookupByLibrary.simpleMessage("Select a location"), MessageLookupByLibrary.simpleMessage("Select a location"),
"selectALocationFirst": "selectALocationFirst":

View file

@ -171,6 +171,7 @@ class MessageLookup extends MessageLookupByLibrary {
"resetPasswordTitle": "resetPasswordTitle":
MessageLookupByLibrary.simpleMessage("Zresetuj hasło"), MessageLookupByLibrary.simpleMessage("Zresetuj hasło"),
"saveKey": MessageLookupByLibrary.simpleMessage("Zapisz klucz"), "saveKey": MessageLookupByLibrary.simpleMessage("Zapisz klucz"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"selectALocation": "selectALocation":
MessageLookupByLibrary.simpleMessage("Select a location"), MessageLookupByLibrary.simpleMessage("Select a location"),
"selectALocationFirst": "selectALocationFirst":

View file

@ -1217,6 +1217,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage( MessageLookupByLibrary.simpleMessage(
"Escaneie este código de barras com\nseu aplicativo autenticador"), "Escaneie este código de barras com\nseu aplicativo autenticador"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchAlbumsEmptySection": "searchAlbumsEmptySection":
MessageLookupByLibrary.simpleMessage("Álbuns"), MessageLookupByLibrary.simpleMessage("Álbuns"),
"searchByAlbumNameHint": "searchByAlbumNameHint":

View file

@ -988,6 +988,7 @@ class MessageLookup extends MessageLookupByLibrary {
"scanCode": MessageLookupByLibrary.simpleMessage("扫描二维码/条码"), "scanCode": MessageLookupByLibrary.simpleMessage("扫描二维码/条码"),
"scanThisBarcodeWithnyourAuthenticatorApp": "scanThisBarcodeWithnyourAuthenticatorApp":
MessageLookupByLibrary.simpleMessage("用您的身份验证器应用\n扫描此条码"), MessageLookupByLibrary.simpleMessage("用您的身份验证器应用\n扫描此条码"),
"search": MessageLookupByLibrary.simpleMessage("Search"),
"searchAlbumsEmptySection": MessageLookupByLibrary.simpleMessage("相册"), "searchAlbumsEmptySection": MessageLookupByLibrary.simpleMessage("相册"),
"searchByAlbumNameHint": MessageLookupByLibrary.simpleMessage("相册名称"), "searchByAlbumNameHint": MessageLookupByLibrary.simpleMessage("相册名称"),
"searchByExamples": MessageLookupByLibrary.simpleMessage( "searchByExamples": MessageLookupByLibrary.simpleMessage(

View file

@ -8553,6 +8553,16 @@ class S {
args: [], args: [],
); );
} }
/// `Search`
String get search {
return Intl.message(
'Search',
name: 'search',
desc: '',
args: [],
);
}
} }
class AppLocalizationDelegate extends LocalizationsDelegate<S> { class AppLocalizationDelegate extends LocalizationsDelegate<S> {

View file

@ -17,5 +17,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -1203,5 +1203,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -1211,5 +1211,6 @@
"invalidEndpointMessage": "Sorry, the endpoint you entered is invalid. Please enter a valid endpoint and try again.", "invalidEndpointMessage": "Sorry, the endpoint you entered is invalid. Please enter a valid endpoint and try again.",
"endpointUpdatedMessage": "Endpoint updated successfully", "endpointUpdatedMessage": "Endpoint updated successfully",
"customEndpoint": "Connected to {endpoint}", "customEndpoint": "Connected to {endpoint}",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -979,5 +979,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -1160,5 +1160,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -1122,5 +1122,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -17,5 +17,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -1198,5 +1198,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -31,5 +31,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -118,5 +118,6 @@
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}", "addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}", "addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.", "longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption.",
"createCollaborativeLink": "Create collaborative link" "createCollaborativeLink": "Create collaborative link",
"search": "Search"
} }

View file

@ -1211,5 +1211,6 @@
"invalidEndpointMessage": "Desculpe, o endpoint que você inseriu é inválido. Por favor, insira um endpoint válido e tente novamente.", "invalidEndpointMessage": "Desculpe, o endpoint que você inseriu é inválido. Por favor, insira um endpoint válido e tente novamente.",
"endpointUpdatedMessage": "Endpoint atualizado com sucesso", "endpointUpdatedMessage": "Endpoint atualizado com sucesso",
"customEndpoint": "Conectado a {endpoint}", "customEndpoint": "Conectado a {endpoint}",
"createCollaborativeLink": "Criar link colaborativo" "createCollaborativeLink": "Criar link colaborativo",
"search": "Search"
} }

View file

@ -1211,5 +1211,6 @@
"invalidEndpointMessage": "抱歉,您输入的端点无效。请输入有效的端点,然后重试。", "invalidEndpointMessage": "抱歉,您输入的端点无效。请输入有效的端点,然后重试。",
"endpointUpdatedMessage": "端点更新成功", "endpointUpdatedMessage": "端点更新成功",
"customEndpoint": "已连接至 {endpoint}", "customEndpoint": "已连接至 {endpoint}",
"createCollaborativeLink": "创建协作链接" "createCollaborativeLink": "创建协作链接",
"search": "Search"
} }

View file

@ -5,6 +5,7 @@ import "package:flutter/scheduler.dart";
import "package:photos/core/event_bus.dart"; import "package:photos/core/event_bus.dart";
import "package:photos/events/clear_and_unfocus_search_bar_event.dart"; import "package:photos/events/clear_and_unfocus_search_bar_event.dart";
import "package:photos/events/tab_changed_event.dart"; import "package:photos/events/tab_changed_event.dart";
import "package:photos/generated/l10n.dart";
import "package:photos/models/search/index_of_indexed_stack.dart"; import "package:photos/models/search/index_of_indexed_stack.dart";
import "package:photos/models/search/search_result.dart"; import "package:photos/models/search/search_result.dart";
import "package:photos/services/search_service.dart"; import "package:photos/services/search_service.dart";
@ -130,17 +131,14 @@ class SearchWidgetState extends State<SearchWidget> {
color: colorScheme.backgroundBase, color: colorScheme.backgroundBase,
child: Container( child: Container(
color: colorScheme.fillFaint, color: colorScheme.fillFaint,
child: TextFormField( child: TextField(
controller: textController, controller: textController,
focusNode: focusNode, focusNode: focusNode,
style: Theme.of(context).textTheme.titleMedium, style: Theme.of(context).textTheme.titleMedium,
// Below parameters are to disable auto-suggestion // Below parameters are to disable auto-suggestion
enableSuggestions: false,
autocorrect: false,
// Above parameters are to disable auto-suggestion // Above parameters are to disable auto-suggestion
decoration: InputDecoration( decoration: InputDecoration(
//TODO: Extract string hintText: S.of(context).search,
hintText: "Search",
filled: true, filled: true,
fillColor: getEnteColorScheme(context).fillFaint, fillColor: getEnteColorScheme(context).fillFaint,
border: const UnderlineInputBorder( border: const UnderlineInputBorder(
@ -161,6 +159,9 @@ class SearchWidgetState extends State<SearchWidget> {
minHeight: 44, minHeight: 44,
minWidth: 44, minWidth: 44,
), ),
contentPadding: const EdgeInsets.symmetric(
vertical: 8,
),
prefixIcon: Hero( prefixIcon: Hero(
tag: "search_icon", tag: "search_icon",
child: Icon( child: Icon(
@ -168,6 +169,7 @@ class SearchWidgetState extends State<SearchWidget> {
color: colorScheme.strokeFaint, color: colorScheme.strokeFaint,
), ),
), ),
/*Using valueListenableBuilder inside a stateful widget because this widget is only rebuild when /*Using valueListenableBuilder inside a stateful widget because this widget is only rebuild when
setState is called when deboucncing is over and the spinner needs to be shown while debouncing */ setState is called when deboucncing is over and the spinner needs to be shown while debouncing */
suffixIcon: ValueListenableBuilder( suffixIcon: ValueListenableBuilder(