1
0
mirror of https://github.com/immich-app/immich.git synced 2024-11-24 08:52:28 +02:00

fix: align camera model drop down behavior with other drop downs on web and mobile (#11951)

* fix(web): align search filter behavior to show all camera models

* fix(mobile): align search filter behavior to clear camera model when make is set

* (mobile) correctly clear the model controller

* fix(mobile) re-add text controller to dropdown

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Christopher Makarem 2024-08-24 22:00:15 -07:00 committed by GitHub
parent 7a4fccb1b2
commit b41af65997
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 4 deletions

View File

@ -51,10 +51,14 @@ class CameraPicker extends HookConsumerWidget {
controller: makeTextController,
leadingIcon: const Icon(Icons.photo_camera_rounded),
onSelected: (value) {
if (value.toString() == selectedMake.value) {
return;
}
selectedMake.value = value.toString();
modelTextController.value = TextEditingValue.empty;
onSelect({
'make': selectedMake.value,
'model': selectedModel.value,
'model': null,
});
},
);

View File

@ -29,6 +29,7 @@ class SearchDropdown<T> extends StatelessWidget {
return LayoutBuilder(
builder: (context, constraints) {
return DropdownMenu(
controller: controller,
leadingIcon: leadingIcon,
width: constraints.maxWidth,
dropdownMenuEntries: dropdownMenuEntries,

View File

@ -18,13 +18,12 @@
$: makeFilter = filters.make;
$: modelFilter = filters.model;
$: handlePromiseError(updateMakes(modelFilter));
$: handlePromiseError(updateMakes());
$: handlePromiseError(updateModels(makeFilter));
async function updateMakes(model?: string) {
async function updateMakes() {
const results: Array<string | null> = await getSearchSuggestions({
$type: SearchSuggestionType.CameraMake,
model,
includeNull: true,
});