#1507 search: add mime type filters
This commit is contained in:
parent
ad5a9c848d
commit
63130de577
56 changed files with 177 additions and 3 deletions
|
@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
## <a id="unreleased"></a>[Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- Search: format filters
|
||||
|
||||
## <a id="v1.12.9"></a>[v1.12.9] - 2025-04-06
|
||||
|
||||
### Added
|
||||
|
|
|
@ -815,6 +815,7 @@
|
|||
"searchCollectionFieldHint": "Search collection",
|
||||
"searchRecentSectionTitle": "Recent",
|
||||
"searchDateSectionTitle": "Date",
|
||||
"searchFormatSectionTitle": "Formats",
|
||||
"searchAlbumsSectionTitle": "Albums",
|
||||
"searchCountriesSectionTitle": "Countries",
|
||||
"searchStatesSectionTitle": "States",
|
||||
|
|
|
@ -2973,6 +2973,12 @@ abstract class AppLocalizations {
|
|||
/// **'Date'**
|
||||
String get searchDateSectionTitle;
|
||||
|
||||
/// No description provided for @searchFormatSectionTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Formats'**
|
||||
String get searchFormatSectionTitle;
|
||||
|
||||
/// No description provided for @searchAlbumsSectionTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
@ -1580,6 +1580,9 @@ class AppLocalizationsAr extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'تاريخ';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'الألبومات';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsAz extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1598,6 +1598,9 @@ class AppLocalizationsBe extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Дата';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Альбомы';
|
||||
|
||||
|
|
|
@ -1632,6 +1632,9 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Дата';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Албуми';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsBn extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1580,6 +1580,9 @@ class AppLocalizationsCa extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Data';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Àlbums';
|
||||
|
||||
|
|
|
@ -1617,6 +1617,9 @@ class AppLocalizationsCkb extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1593,6 +1593,9 @@ class AppLocalizationsCs extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Datum';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Alba';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsDa extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dato';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Album';
|
||||
|
||||
|
|
|
@ -1625,6 +1625,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Datum';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Alben';
|
||||
|
||||
|
|
|
@ -1625,6 +1625,9 @@ class AppLocalizationsEl extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Ημερομηνια';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Άλμπουμ';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1625,6 +1625,9 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Fecha';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Álbumes';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsEt extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Kuupäevad';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albumid';
|
||||
|
||||
|
|
|
@ -1580,6 +1580,9 @@ class AppLocalizationsEu extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Data';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albumak';
|
||||
|
||||
|
|
|
@ -1577,6 +1577,9 @@ class AppLocalizationsFa extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'تاریخ';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'آلبوم ها';
|
||||
|
||||
|
|
|
@ -1622,6 +1622,9 @@ class AppLocalizationsFi extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1625,6 +1625,9 @@ class AppLocalizationsGl extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Data';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Álbums';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsHe extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1619,6 +1619,9 @@ class AppLocalizationsHi extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'दिनांक';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'एल्बम';
|
||||
|
||||
|
|
|
@ -1575,6 +1575,9 @@ class AppLocalizationsHu extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dátum';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albumok';
|
||||
|
||||
|
|
|
@ -1609,6 +1609,9 @@ class AppLocalizationsId extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Tanggal';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Album';
|
||||
|
||||
|
|
|
@ -1580,6 +1580,9 @@ class AppLocalizationsIs extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dagsetning';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albúm';
|
||||
|
||||
|
|
|
@ -1625,6 +1625,9 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Data';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Album';
|
||||
|
||||
|
|
|
@ -1609,6 +1609,9 @@ class AppLocalizationsJa extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => '日付';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'アルバム';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsKn extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'ದಿನಾಂಕ';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'ಆಲ್ಬಮ್ ಗಳು';
|
||||
|
||||
|
|
|
@ -1607,6 +1607,9 @@ class AppLocalizationsKo extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => '날짜';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => '앨범';
|
||||
|
||||
|
|
|
@ -1587,6 +1587,9 @@ class AppLocalizationsLt extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Datos';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albumai';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsMl extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1589,6 +1589,9 @@ class AppLocalizationsMy extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'ရက်စွဲ';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'အယ်လ်ဘမ်များ';
|
||||
|
||||
|
|
|
@ -1580,6 +1580,9 @@ class AppLocalizationsNb extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dato';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Album';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsNe extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1627,6 +1627,9 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Datum';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1569,6 +1569,9 @@ class AppLocalizationsNn extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dato';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Album';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsOr extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'ତାରିଖ';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1590,6 +1590,9 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Data';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albumy';
|
||||
|
||||
|
|
|
@ -1625,6 +1625,9 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Data';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Álbuns';
|
||||
|
||||
|
|
|
@ -1580,6 +1580,9 @@ class AppLocalizationsRo extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dată';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albume';
|
||||
|
||||
|
|
|
@ -1642,6 +1642,9 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Дата';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Альбомы';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsSat extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1585,6 +1585,9 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Dátum';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albumy';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsSr extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1608,6 +1608,9 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Datum';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Album';
|
||||
|
||||
|
|
|
@ -1628,6 +1628,9 @@ class AppLocalizationsTa extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'திகதி';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'தொகுப்புகள்';
|
||||
|
||||
|
|
|
@ -1616,6 +1616,9 @@ class AppLocalizationsTh extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Date';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albums';
|
||||
|
||||
|
|
|
@ -1620,6 +1620,9 @@ class AppLocalizationsTr extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Tarih';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Albümler';
|
||||
|
||||
|
|
|
@ -1599,6 +1599,9 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Дата';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Альбоми';
|
||||
|
||||
|
|
|
@ -1575,6 +1575,9 @@ class AppLocalizationsVi extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => 'Thời gian';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => 'Bộ sưu tập';
|
||||
|
||||
|
|
|
@ -1609,6 +1609,9 @@ class AppLocalizationsZh extends AppLocalizations {
|
|||
@override
|
||||
String get searchDateSectionTitle => '日期';
|
||||
|
||||
@override
|
||||
String get searchFormatSectionTitle => 'Formats';
|
||||
|
||||
@override
|
||||
String get searchAlbumsSectionTitle => '相册';
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ class QueryFilter extends CollectionFilter {
|
|||
String get universalLabel => query;
|
||||
|
||||
@override
|
||||
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) => Icon(AIcons.text, size: size);
|
||||
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) => Icon(AIcons.text, fill: 1, size: size);
|
||||
|
||||
@override
|
||||
Future<Color> color(BuildContext context) {
|
||||
|
|
|
@ -21,7 +21,6 @@ import 'package:aves/model/source/collection_source.dart';
|
|||
import 'package:aves/model/source/location/country.dart';
|
||||
import 'package:aves/model/source/location/place.dart';
|
||||
import 'package:aves/model/source/tag.dart';
|
||||
import 'package:aves/ref/mime_types.dart';
|
||||
import 'package:aves/widgets/collection/collection_page.dart';
|
||||
import 'package:aves/widgets/common/action_mixins/feedback.dart';
|
||||
import 'package:aves/widgets/common/action_mixins/vault_aware.dart';
|
||||
|
@ -41,6 +40,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
|
|||
final ValueNotifier<String?> _expandedSectionNotifier = ValueNotifier(null);
|
||||
final FocusNode _suggestionsTopFocusNode = FocusNode();
|
||||
final ScrollController _suggestionsScrollController = ScrollController();
|
||||
late final List<MimeFilter> _mimeTypeFilters;
|
||||
|
||||
@override
|
||||
FocusNode? get suggestionsFocusNode => _suggestionsTopFocusNode;
|
||||
|
@ -62,7 +62,6 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
|
|||
TypeFilter.geotiff,
|
||||
TypeFilter.hdr,
|
||||
TypeFilter.raw,
|
||||
MimeFilter(MimeTypes.svg),
|
||||
];
|
||||
|
||||
static final _monthFilters = List.generate(12, (i) => DateFilter(DateLevel.m, DateTime(1, i + 1)));
|
||||
|
@ -78,6 +77,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
|
|||
routeName: SearchPage.routeName,
|
||||
) {
|
||||
query = initialQuery ?? '';
|
||||
_mimeTypeFilters = source.allEntries.map((entry) => entry.mimeType).toSet().map(MimeFilter.new).toList()..sort();
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -149,6 +149,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
|
|||
filters: history,
|
||||
),
|
||||
_buildDateFilters(context, containQuery),
|
||||
_buildMimeTypeFilters(context, containQuery),
|
||||
_buildAlbumFilters(containQuery),
|
||||
_buildCountryFilters(containQuery),
|
||||
_buildStateFilters(containQuery),
|
||||
|
@ -205,6 +206,15 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
|
|||
);
|
||||
}
|
||||
|
||||
Widget _buildMimeTypeFilters(BuildContext context, _ContainQuery containQuery) {
|
||||
final filters = _mimeTypeFilters.where((f) => containQuery(f.universalLabel)).toList();
|
||||
return _buildFilterRow(
|
||||
context: context,
|
||||
title: context.l10n.searchFormatSectionTitle,
|
||||
filters: filters,
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildAlbumFilters(_ContainQuery containQuery) {
|
||||
return AnimatedBuilder(
|
||||
animation: dynamicAlbums,
|
||||
|
|
Loading…
Reference in a new issue