chore: fix wrong audio source result showing up in Alternative track sheet

This commit is contained in:
Kingkor Roy Tirtho 2024-01-24 12:11:49 +06:00
parent b9417ca357
commit eb7477273f

View File

@ -82,23 +82,36 @@ class SiblingTracksSheet extends HookConsumerWidget {
if (searchTerm.trim().isEmpty) {
return <SourceInfo>[];
}
final resultsYt = await youtubeClient.search.search(searchTerm.trim());
if (preferences.audioSource == AudioSource.jiosaavn) {
final resultsJioSaavn =
await jiosaavnClient.search.songs(searchTerm.trim());
final searchResults = await Future.wait([
...resultsJioSaavn.results.mapIndexed((i, song) async {
final results = await Future.wait(
resultsJioSaavn.results.mapIndexed((i, song) async {
final siblingType = JioSaavnSourcedTrack.toSiblingType(song);
return siblingType.info;
}),
...resultsYt
}));
final activeSourceInfo =
(playlist.activeTrack! as SourcedTrack).sourceInfo;
return results
..removeWhere((element) => element.id == activeSourceInfo.id)
..insert(
0,
activeSourceInfo,
);
} else {
final resultsYt = await youtubeClient.search.search(searchTerm.trim());
final searchResults = await Future.wait(
resultsYt
.map(YoutubeVideoInfo.fromVideo)
.mapIndexed((i, video) async {
final siblingType = await YoutubeSourcedTrack.toSiblingType(i, video);
final siblingType =
await YoutubeSourcedTrack.toSiblingType(i, video);
return siblingType.info;
}),
]);
);
final activeSourceInfo =
(playlist.activeTrack! as SourcedTrack).sourceInfo;
return searchResults
@ -107,10 +120,12 @@ class SiblingTracksSheet extends HookConsumerWidget {
0,
activeSourceInfo,
);
}
}, [
searchTerm,
searchMode.value,
playlist.activeTrack,
preferences.audioSource,
]);
final siblings = useMemoized(