diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7958a5e2..45d5666d5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
## [Unreleased]
+### Added
+
+- Search: format filters
+
## [v1.12.9] - 2025-04-06
### Added
diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb
index 4d53d1071..f028d9345 100644
--- a/lib/l10n/app_en.arb
+++ b/lib/l10n/app_en.arb
@@ -815,6 +815,7 @@
"searchCollectionFieldHint": "Search collection",
"searchRecentSectionTitle": "Recent",
"searchDateSectionTitle": "Date",
+ "searchFormatSectionTitle": "Formats",
"searchAlbumsSectionTitle": "Albums",
"searchCountriesSectionTitle": "Countries",
"searchStatesSectionTitle": "States",
diff --git a/lib/l10ngen/app_localizations.dart b/lib/l10ngen/app_localizations.dart
index 63cc5da88..5148e53ea 100644
--- a/lib/l10ngen/app_localizations.dart
+++ b/lib/l10ngen/app_localizations.dart
@@ -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:
diff --git a/lib/l10ngen/app_localizations_ar.dart b/lib/l10ngen/app_localizations_ar.dart
index 2d7b0351c..5f0de8398 100644
--- a/lib/l10ngen/app_localizations_ar.dart
+++ b/lib/l10ngen/app_localizations_ar.dart
@@ -1580,6 +1580,9 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get searchDateSectionTitle => 'تاريخ';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'الألبومات';
diff --git a/lib/l10ngen/app_localizations_az.dart b/lib/l10ngen/app_localizations_az.dart
index 3d2f7f9ac..ccde11a78 100644
--- a/lib/l10ngen/app_localizations_az.dart
+++ b/lib/l10ngen/app_localizations_az.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsAz extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_be.dart b/lib/l10ngen/app_localizations_be.dart
index c9e13c55d..2a69a7057 100644
--- a/lib/l10ngen/app_localizations_be.dart
+++ b/lib/l10ngen/app_localizations_be.dart
@@ -1598,6 +1598,9 @@ class AppLocalizationsBe extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Дата';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Альбомы';
diff --git a/lib/l10ngen/app_localizations_bg.dart b/lib/l10ngen/app_localizations_bg.dart
index b57feb387..5e3b60585 100644
--- a/lib/l10ngen/app_localizations_bg.dart
+++ b/lib/l10ngen/app_localizations_bg.dart
@@ -1632,6 +1632,9 @@ class AppLocalizationsBg extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Дата';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Албуми';
diff --git a/lib/l10ngen/app_localizations_bn.dart b/lib/l10ngen/app_localizations_bn.dart
index 206db02e6..7bff1c2bd 100644
--- a/lib/l10ngen/app_localizations_bn.dart
+++ b/lib/l10ngen/app_localizations_bn.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_ca.dart b/lib/l10ngen/app_localizations_ca.dart
index 504663324..079a30808 100644
--- a/lib/l10ngen/app_localizations_ca.dart
+++ b/lib/l10ngen/app_localizations_ca.dart
@@ -1580,6 +1580,9 @@ class AppLocalizationsCa extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Data';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Àlbums';
diff --git a/lib/l10ngen/app_localizations_ckb.dart b/lib/l10ngen/app_localizations_ckb.dart
index f434ad2c4..34cce1b1f 100644
--- a/lib/l10ngen/app_localizations_ckb.dart
+++ b/lib/l10ngen/app_localizations_ckb.dart
@@ -1617,6 +1617,9 @@ class AppLocalizationsCkb extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_cs.dart b/lib/l10ngen/app_localizations_cs.dart
index a4735547e..4b5784a74 100644
--- a/lib/l10ngen/app_localizations_cs.dart
+++ b/lib/l10ngen/app_localizations_cs.dart
@@ -1593,6 +1593,9 @@ class AppLocalizationsCs extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Datum';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Alba';
diff --git a/lib/l10ngen/app_localizations_da.dart b/lib/l10ngen/app_localizations_da.dart
index 36737cbef..27b5b2a46 100644
--- a/lib/l10ngen/app_localizations_da.dart
+++ b/lib/l10ngen/app_localizations_da.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsDa extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dato';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Album';
diff --git a/lib/l10ngen/app_localizations_de.dart b/lib/l10ngen/app_localizations_de.dart
index 406ef5ea3..fc669e014 100644
--- a/lib/l10ngen/app_localizations_de.dart
+++ b/lib/l10ngen/app_localizations_de.dart
@@ -1625,6 +1625,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Datum';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Alben';
diff --git a/lib/l10ngen/app_localizations_el.dart b/lib/l10ngen/app_localizations_el.dart
index d5ba6f9aa..14fe8302a 100644
--- a/lib/l10ngen/app_localizations_el.dart
+++ b/lib/l10ngen/app_localizations_el.dart
@@ -1625,6 +1625,9 @@ class AppLocalizationsEl extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Ημερομηνια';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Άλμπουμ';
diff --git a/lib/l10ngen/app_localizations_en.dart b/lib/l10ngen/app_localizations_en.dart
index b56ba1634..0ce6e83b3 100644
--- a/lib/l10ngen/app_localizations_en.dart
+++ b/lib/l10ngen/app_localizations_en.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_es.dart b/lib/l10ngen/app_localizations_es.dart
index edd3524eb..4414ad8f8 100644
--- a/lib/l10ngen/app_localizations_es.dart
+++ b/lib/l10ngen/app_localizations_es.dart
@@ -1625,6 +1625,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Fecha';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Álbumes';
diff --git a/lib/l10ngen/app_localizations_et.dart b/lib/l10ngen/app_localizations_et.dart
index 22cd00169..965840661 100644
--- a/lib/l10ngen/app_localizations_et.dart
+++ b/lib/l10ngen/app_localizations_et.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsEt extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Kuupäevad';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albumid';
diff --git a/lib/l10ngen/app_localizations_eu.dart b/lib/l10ngen/app_localizations_eu.dart
index 3dc73c323..0e14257a0 100644
--- a/lib/l10ngen/app_localizations_eu.dart
+++ b/lib/l10ngen/app_localizations_eu.dart
@@ -1580,6 +1580,9 @@ class AppLocalizationsEu extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Data';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albumak';
diff --git a/lib/l10ngen/app_localizations_fa.dart b/lib/l10ngen/app_localizations_fa.dart
index bb73df9ac..817c2bf1d 100644
--- a/lib/l10ngen/app_localizations_fa.dart
+++ b/lib/l10ngen/app_localizations_fa.dart
@@ -1577,6 +1577,9 @@ class AppLocalizationsFa extends AppLocalizations {
@override
String get searchDateSectionTitle => 'تاریخ';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'آلبوم ها';
diff --git a/lib/l10ngen/app_localizations_fi.dart b/lib/l10ngen/app_localizations_fi.dart
index 63838c367..811bac466 100644
--- a/lib/l10ngen/app_localizations_fi.dart
+++ b/lib/l10ngen/app_localizations_fi.dart
@@ -1622,6 +1622,9 @@ class AppLocalizationsFi extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_fr.dart b/lib/l10ngen/app_localizations_fr.dart
index 1de161181..4433e28a5 100644
--- a/lib/l10ngen/app_localizations_fr.dart
+++ b/lib/l10ngen/app_localizations_fr.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_gl.dart b/lib/l10ngen/app_localizations_gl.dart
index eaebd895c..64096161a 100644
--- a/lib/l10ngen/app_localizations_gl.dart
+++ b/lib/l10ngen/app_localizations_gl.dart
@@ -1625,6 +1625,9 @@ class AppLocalizationsGl extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Data';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Álbums';
diff --git a/lib/l10ngen/app_localizations_he.dart b/lib/l10ngen/app_localizations_he.dart
index b6cea73d8..cae6a0e08 100644
--- a/lib/l10ngen/app_localizations_he.dart
+++ b/lib/l10ngen/app_localizations_he.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsHe extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_hi.dart b/lib/l10ngen/app_localizations_hi.dart
index cf0f30fae..43954521b 100644
--- a/lib/l10ngen/app_localizations_hi.dart
+++ b/lib/l10ngen/app_localizations_hi.dart
@@ -1619,6 +1619,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get searchDateSectionTitle => 'दिनांक';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'एल्बम';
diff --git a/lib/l10ngen/app_localizations_hu.dart b/lib/l10ngen/app_localizations_hu.dart
index a8c9da4ae..a1a7e7bfe 100644
--- a/lib/l10ngen/app_localizations_hu.dart
+++ b/lib/l10ngen/app_localizations_hu.dart
@@ -1575,6 +1575,9 @@ class AppLocalizationsHu extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dátum';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albumok';
diff --git a/lib/l10ngen/app_localizations_id.dart b/lib/l10ngen/app_localizations_id.dart
index 875e83fd1..9d0d061dd 100644
--- a/lib/l10ngen/app_localizations_id.dart
+++ b/lib/l10ngen/app_localizations_id.dart
@@ -1609,6 +1609,9 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Tanggal';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Album';
diff --git a/lib/l10ngen/app_localizations_is.dart b/lib/l10ngen/app_localizations_is.dart
index 63d747568..46cd77c95 100644
--- a/lib/l10ngen/app_localizations_is.dart
+++ b/lib/l10ngen/app_localizations_is.dart
@@ -1580,6 +1580,9 @@ class AppLocalizationsIs extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dagsetning';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albúm';
diff --git a/lib/l10ngen/app_localizations_it.dart b/lib/l10ngen/app_localizations_it.dart
index 52e1a4ee0..b00f852e9 100644
--- a/lib/l10ngen/app_localizations_it.dart
+++ b/lib/l10ngen/app_localizations_it.dart
@@ -1625,6 +1625,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Data';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Album';
diff --git a/lib/l10ngen/app_localizations_ja.dart b/lib/l10ngen/app_localizations_ja.dart
index 8d3dcb62e..ed1a2fdd4 100644
--- a/lib/l10ngen/app_localizations_ja.dart
+++ b/lib/l10ngen/app_localizations_ja.dart
@@ -1609,6 +1609,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get searchDateSectionTitle => '日付';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'アルバム';
diff --git a/lib/l10ngen/app_localizations_kn.dart b/lib/l10ngen/app_localizations_kn.dart
index 3b7c736e8..6cf19827d 100644
--- a/lib/l10ngen/app_localizations_kn.dart
+++ b/lib/l10ngen/app_localizations_kn.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsKn extends AppLocalizations {
@override
String get searchDateSectionTitle => 'ದಿನಾಂಕ';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'ಆಲ್ಬಮ್ ಗಳು';
diff --git a/lib/l10ngen/app_localizations_ko.dart b/lib/l10ngen/app_localizations_ko.dart
index e1ac8d4de..47ee3b4dc 100644
--- a/lib/l10ngen/app_localizations_ko.dart
+++ b/lib/l10ngen/app_localizations_ko.dart
@@ -1607,6 +1607,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get searchDateSectionTitle => '날짜';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => '앨범';
diff --git a/lib/l10ngen/app_localizations_lt.dart b/lib/l10ngen/app_localizations_lt.dart
index 9797d52a3..dafa54e9d 100644
--- a/lib/l10ngen/app_localizations_lt.dart
+++ b/lib/l10ngen/app_localizations_lt.dart
@@ -1587,6 +1587,9 @@ class AppLocalizationsLt extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Datos';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albumai';
diff --git a/lib/l10ngen/app_localizations_ml.dart b/lib/l10ngen/app_localizations_ml.dart
index 1766ef1c5..f0dcc43f9 100644
--- a/lib/l10ngen/app_localizations_ml.dart
+++ b/lib/l10ngen/app_localizations_ml.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsMl extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_my.dart b/lib/l10ngen/app_localizations_my.dart
index 21d5fb9ba..2c933c62d 100644
--- a/lib/l10ngen/app_localizations_my.dart
+++ b/lib/l10ngen/app_localizations_my.dart
@@ -1589,6 +1589,9 @@ class AppLocalizationsMy extends AppLocalizations {
@override
String get searchDateSectionTitle => 'ရက်စွဲ';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'အယ်လ်ဘမ်များ';
diff --git a/lib/l10ngen/app_localizations_nb.dart b/lib/l10ngen/app_localizations_nb.dart
index 034ab0616..330782171 100644
--- a/lib/l10ngen/app_localizations_nb.dart
+++ b/lib/l10ngen/app_localizations_nb.dart
@@ -1580,6 +1580,9 @@ class AppLocalizationsNb extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dato';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Album';
diff --git a/lib/l10ngen/app_localizations_ne.dart b/lib/l10ngen/app_localizations_ne.dart
index 2b071a780..b25775bcc 100644
--- a/lib/l10ngen/app_localizations_ne.dart
+++ b/lib/l10ngen/app_localizations_ne.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsNe extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_nl.dart b/lib/l10ngen/app_localizations_nl.dart
index e6574e24b..245bc85bc 100644
--- a/lib/l10ngen/app_localizations_nl.dart
+++ b/lib/l10ngen/app_localizations_nl.dart
@@ -1627,6 +1627,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Datum';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_nn.dart b/lib/l10ngen/app_localizations_nn.dart
index 48903d667..5912bd9fc 100644
--- a/lib/l10ngen/app_localizations_nn.dart
+++ b/lib/l10ngen/app_localizations_nn.dart
@@ -1569,6 +1569,9 @@ class AppLocalizationsNn extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dato';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Album';
diff --git a/lib/l10ngen/app_localizations_or.dart b/lib/l10ngen/app_localizations_or.dart
index 7c1d9d048..0be8bd0e0 100644
--- a/lib/l10ngen/app_localizations_or.dart
+++ b/lib/l10ngen/app_localizations_or.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsOr extends AppLocalizations {
@override
String get searchDateSectionTitle => 'ତାରିଖ';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_pl.dart b/lib/l10ngen/app_localizations_pl.dart
index 223ec0bea..77452d6a1 100644
--- a/lib/l10ngen/app_localizations_pl.dart
+++ b/lib/l10ngen/app_localizations_pl.dart
@@ -1590,6 +1590,9 @@ class AppLocalizationsPl extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Data';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albumy';
diff --git a/lib/l10ngen/app_localizations_pt.dart b/lib/l10ngen/app_localizations_pt.dart
index 54d0a26a4..aeff10e53 100644
--- a/lib/l10ngen/app_localizations_pt.dart
+++ b/lib/l10ngen/app_localizations_pt.dart
@@ -1625,6 +1625,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Data';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Álbuns';
diff --git a/lib/l10ngen/app_localizations_ro.dart b/lib/l10ngen/app_localizations_ro.dart
index 4acbf8f15..e06a0c32c 100644
--- a/lib/l10ngen/app_localizations_ro.dart
+++ b/lib/l10ngen/app_localizations_ro.dart
@@ -1580,6 +1580,9 @@ class AppLocalizationsRo extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dată';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albume';
diff --git a/lib/l10ngen/app_localizations_ru.dart b/lib/l10ngen/app_localizations_ru.dart
index 052235b44..efe686ab2 100644
--- a/lib/l10ngen/app_localizations_ru.dart
+++ b/lib/l10ngen/app_localizations_ru.dart
@@ -1642,6 +1642,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Дата';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Альбомы';
diff --git a/lib/l10ngen/app_localizations_sat.dart b/lib/l10ngen/app_localizations_sat.dart
index 25bff2da0..2b825ae94 100644
--- a/lib/l10ngen/app_localizations_sat.dart
+++ b/lib/l10ngen/app_localizations_sat.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsSat extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_sk.dart b/lib/l10ngen/app_localizations_sk.dart
index 175f3b3b9..e6883bc07 100644
--- a/lib/l10ngen/app_localizations_sk.dart
+++ b/lib/l10ngen/app_localizations_sk.dart
@@ -1585,6 +1585,9 @@ class AppLocalizationsSk extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Dátum';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albumy';
diff --git a/lib/l10ngen/app_localizations_sl.dart b/lib/l10ngen/app_localizations_sl.dart
index 87b187e56..d59d03527 100644
--- a/lib/l10ngen/app_localizations_sl.dart
+++ b/lib/l10ngen/app_localizations_sl.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_sr.dart b/lib/l10ngen/app_localizations_sr.dart
index 2f317debf..e7f766d02 100644
--- a/lib/l10ngen/app_localizations_sr.dart
+++ b/lib/l10ngen/app_localizations_sr.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsSr extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_sv.dart b/lib/l10ngen/app_localizations_sv.dart
index 5fdc436c3..2997e881e 100644
--- a/lib/l10ngen/app_localizations_sv.dart
+++ b/lib/l10ngen/app_localizations_sv.dart
@@ -1608,6 +1608,9 @@ class AppLocalizationsSv extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Datum';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Album';
diff --git a/lib/l10ngen/app_localizations_ta.dart b/lib/l10ngen/app_localizations_ta.dart
index 2597786a1..93b5e1425 100644
--- a/lib/l10ngen/app_localizations_ta.dart
+++ b/lib/l10ngen/app_localizations_ta.dart
@@ -1628,6 +1628,9 @@ class AppLocalizationsTa extends AppLocalizations {
@override
String get searchDateSectionTitle => 'திகதி';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'தொகுப்புகள்';
diff --git a/lib/l10ngen/app_localizations_th.dart b/lib/l10ngen/app_localizations_th.dart
index 821ef9ab2..b47b37014 100644
--- a/lib/l10ngen/app_localizations_th.dart
+++ b/lib/l10ngen/app_localizations_th.dart
@@ -1616,6 +1616,9 @@ class AppLocalizationsTh extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Date';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albums';
diff --git a/lib/l10ngen/app_localizations_tr.dart b/lib/l10ngen/app_localizations_tr.dart
index 10bf1c8e5..8ae4af9cc 100644
--- a/lib/l10ngen/app_localizations_tr.dart
+++ b/lib/l10ngen/app_localizations_tr.dart
@@ -1620,6 +1620,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Tarih';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Albümler';
diff --git a/lib/l10ngen/app_localizations_uk.dart b/lib/l10ngen/app_localizations_uk.dart
index 8a0254501..3c21a0195 100644
--- a/lib/l10ngen/app_localizations_uk.dart
+++ b/lib/l10ngen/app_localizations_uk.dart
@@ -1599,6 +1599,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get searchDateSectionTitle => 'Дата';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => 'Альбоми';
diff --git a/lib/l10ngen/app_localizations_vi.dart b/lib/l10ngen/app_localizations_vi.dart
index a9c64c804..f73caa763 100644
--- a/lib/l10ngen/app_localizations_vi.dart
+++ b/lib/l10ngen/app_localizations_vi.dart
@@ -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';
diff --git a/lib/l10ngen/app_localizations_zh.dart b/lib/l10ngen/app_localizations_zh.dart
index e7b520b84..500a831ef 100644
--- a/lib/l10ngen/app_localizations_zh.dart
+++ b/lib/l10ngen/app_localizations_zh.dart
@@ -1609,6 +1609,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get searchDateSectionTitle => '日期';
+ @override
+ String get searchFormatSectionTitle => 'Formats';
+
@override
String get searchAlbumsSectionTitle => '相册';
diff --git a/lib/model/filters/query.dart b/lib/model/filters/query.dart
index 9dc19092b..11897bc25 100644
--- a/lib/model/filters/query.dart
+++ b/lib/model/filters/query.dart
@@ -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(BuildContext context) {
diff --git a/lib/widgets/search/search_delegate.dart b/lib/widgets/search/search_delegate.dart
index 17038b351..61a06b941 100644
--- a/lib/widgets/search/search_delegate.dart
+++ b/lib/widgets/search/search_delegate.dart
@@ -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 _expandedSectionNotifier = ValueNotifier(null);
final FocusNode _suggestionsTopFocusNode = FocusNode();
final ScrollController _suggestionsScrollController = ScrollController();
+ late final List _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,