mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-08-03 01:28:37 +02:00
feat(library): add missing-ISRC metadata filter
This commit is contained in:
@@ -3727,7 +3727,7 @@ abstract class AppLocalizations {
|
||||
/// Tutorial welcome page title
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Welcome to SpotiFLAC!'**
|
||||
/// **'Welcome to SpotiFLAC Mobile!'**
|
||||
String get tutorialWelcomeTitle;
|
||||
|
||||
/// Tutorial welcome page description
|
||||
@@ -3739,7 +3739,7 @@ abstract class AppLocalizations {
|
||||
/// Tutorial welcome tip 1
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Download music from Spotify, Deezer, or paste any supported URL'**
|
||||
/// **'Search music or paste a link from any source your installed extensions support'**
|
||||
String get tutorialWelcomeTip1;
|
||||
|
||||
/// Tutorial welcome tip 2
|
||||
@@ -6760,6 +6760,12 @@ abstract class AppLocalizations {
|
||||
/// **'Incorrect ISRC format'**
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat;
|
||||
|
||||
/// Filter option - items without any ISRC tag
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Missing ISRC'**
|
||||
String get libraryFilterMetadataMissingIsrc;
|
||||
|
||||
/// Filter option - items missing record label
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -4112,6 +4112,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat => 'Falsches ISRC-Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Label fehlt';
|
||||
|
||||
|
||||
@@ -2076,7 +2076,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
}
|
||||
|
||||
@override
|
||||
String get tutorialWelcomeTitle => 'Welcome to SpotiFLAC!';
|
||||
String get tutorialWelcomeTitle => 'Welcome to SpotiFLAC Mobile!';
|
||||
|
||||
@override
|
||||
String get tutorialWelcomeDesc =>
|
||||
@@ -2084,7 +2084,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get tutorialWelcomeTip1 =>
|
||||
'Download music from Spotify, Deezer, or paste any supported URL';
|
||||
'Search music or paste a link from any source your installed extensions support';
|
||||
|
||||
@override
|
||||
String get tutorialWelcomeTip2 =>
|
||||
@@ -4067,6 +4067,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -4061,6 +4061,9 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -4176,6 +4176,9 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Format ISRC incorrect';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Label manquant';
|
||||
|
||||
|
||||
@@ -4070,6 +4070,9 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -4056,6 +4056,9 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -3944,6 +3944,9 @@ class AppLocalizationsKo extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat => 'ISRC 형식이 잘못됨';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => '레이블 누락';
|
||||
|
||||
|
||||
@@ -4061,6 +4061,9 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -4098,6 +4098,9 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -4097,6 +4097,9 @@ class AppLocalizationsTr extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -4115,6 +4115,9 @@ class AppLocalizationsUk extends AppLocalizations {
|
||||
String get libraryFilterMetadataIncorrectIsrcFormat =>
|
||||
'Incorrect ISRC format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingLabel => 'Missing label';
|
||||
|
||||
|
||||
@@ -2751,7 +2751,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tutorialWelcomeTitle": "Welcome to SpotiFLAC!",
|
||||
"tutorialWelcomeTitle": "Welcome to SpotiFLAC Mobile!",
|
||||
"@tutorialWelcomeTitle": {
|
||||
"description": "Tutorial welcome page title"
|
||||
},
|
||||
@@ -2759,7 +2759,7 @@
|
||||
"@tutorialWelcomeDesc": {
|
||||
"description": "Tutorial welcome page description"
|
||||
},
|
||||
"tutorialWelcomeTip1": "Download music from Spotify, Deezer, or paste any supported URL",
|
||||
"tutorialWelcomeTip1": "Search music or paste a link from any source your installed extensions support",
|
||||
"@tutorialWelcomeTip1": {
|
||||
"description": "Tutorial welcome tip 1"
|
||||
},
|
||||
@@ -5298,6 +5298,10 @@
|
||||
"@libraryFilterMetadataIncorrectIsrcFormat": {
|
||||
"description": "Filter option - items with an invalid ISRC format"
|
||||
},
|
||||
"libraryFilterMetadataMissingIsrc": "Missing ISRC",
|
||||
"@libraryFilterMetadataMissingIsrc": {
|
||||
"description": "Filter option - items without any ISRC tag"
|
||||
},
|
||||
"libraryFilterMetadataMissingLabel": "Missing label",
|
||||
"@libraryFilterMetadataMissingLabel": {
|
||||
"description": "Filter option - items missing record label"
|
||||
|
||||
@@ -954,6 +954,15 @@ class _QueueTabState extends ConsumerState<QueueTab> {
|
||||
() => tempMetadata = 'incorrect-isrc-format',
|
||||
),
|
||||
),
|
||||
FilterChip(
|
||||
label: Text(
|
||||
context.l10n.libraryFilterMetadataMissingIsrc,
|
||||
),
|
||||
selected: tempMetadata == 'missing-isrc',
|
||||
onSelected: (_) => setSheetState(
|
||||
() => tempMetadata = 'missing-isrc',
|
||||
),
|
||||
),
|
||||
FilterChip(
|
||||
label: Text(
|
||||
context
|
||||
|
||||
@@ -462,6 +462,9 @@ extension _LibraryDbQueueSql on LibraryDatabase {
|
||||
case 'incorrect-isrc-format':
|
||||
where.add('($hasIncorrectIsrc)');
|
||||
break;
|
||||
case 'missing-isrc':
|
||||
where.add('TRIM(COALESCE($isrcExpr, \'\')) = \'\'');
|
||||
break;
|
||||
case 'missing-label':
|
||||
where.add('NOT ($hasLabel)');
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user