💄 Better adjust lyrics experience
This commit is contained in:
@@ -160,9 +160,9 @@ class MusixmatchProvider extends LrcProvider {
|
|||||||
final statusCode = jsonDecode(r.body)["message"]["header"]["status_code"];
|
final statusCode = jsonDecode(r.body)["message"]["header"]["status_code"];
|
||||||
if (statusCode != 200) return null;
|
if (statusCode != 200) return null;
|
||||||
final body = jsonDecode(r.body)["message"]["body"];
|
final body = jsonDecode(r.body)["message"]["body"];
|
||||||
if (body == null || !(body is Map)) return null;
|
if (body == null || body is! Map) return null;
|
||||||
final tracks = body["track_list"];
|
final tracks = body["track_list"];
|
||||||
if (tracks == null || !(tracks is List) || tracks.isEmpty) return null;
|
if (tracks == null || tracks is! List || tracks.isEmpty) return null;
|
||||||
|
|
||||||
// Simple "best match" - first track
|
// Simple "best match" - first track
|
||||||
final track = tracks.firstWhere((t) => true, orElse: () => null);
|
final track = tracks.firstWhere((t) => true, orElse: () => null);
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
||||||
import 'package:groovybox/logic/audio_handler.dart';
|
import 'package:groovybox/logic/audio_handler.dart';
|
||||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -304,6 +304,7 @@ class LibraryScreen extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Import lyrics if any
|
// Import lyrics if any
|
||||||
|
if (!context.mounted) return;
|
||||||
if (lyricsPaths.isNotEmpty) {
|
if (lyricsPaths.isNotEmpty) {
|
||||||
await _batchImportLyricsFromPaths(
|
await _batchImportLyricsFromPaths(
|
||||||
context,
|
context,
|
||||||
@@ -366,10 +367,12 @@ class LibraryScreen extends HookConsumerWidget {
|
|||||||
final query = searchQuery.value.toLowerCase();
|
final query = searchQuery.value.toLowerCase();
|
||||||
filteredTracks = tracks.where((track) {
|
filteredTracks = tracks.where((track) {
|
||||||
if (track.title.toLowerCase().contains(query)) return true;
|
if (track.title.toLowerCase().contains(query)) return true;
|
||||||
if (track.artist?.toLowerCase().contains(query) ?? false)
|
if (track.artist?.toLowerCase().contains(query) ?? false) {
|
||||||
return true;
|
return true;
|
||||||
if (track.album?.toLowerCase().contains(query) ?? false)
|
}
|
||||||
|
if (track.album?.toLowerCase().contains(query) ?? false) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
if (track.lyrics != null) {
|
if (track.lyrics != null) {
|
||||||
try {
|
try {
|
||||||
final lyricsData = LyricsData.fromJsonString(track.lyrics!);
|
final lyricsData = LyricsData.fromJsonString(track.lyrics!);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user