diff --git a/lib/screens/home_tab.dart b/lib/screens/home_tab.dart index 7758b273..b135b86c 100644 --- a/lib/screens/home_tab.dart +++ b/lib/screens/home_tab.dart @@ -2122,7 +2122,9 @@ class _HomeTabState extends ConsumerState if (item.providerId != null && item.providerId!.isNotEmpty && item.providerId != 'deezer' && - item.providerId != 'spotify') { + item.providerId != 'spotify' && + item.providerId != 'tidal' && + item.providerId != 'qobuz') { Navigator.push( context, MaterialPageRoute( @@ -2162,7 +2164,9 @@ class _HomeTabState extends ConsumerState } else if (item.providerId != null && item.providerId!.isNotEmpty && item.providerId != 'deezer' && - item.providerId != 'spotify') { + item.providerId != 'spotify' && + item.providerId != 'tidal' && + item.providerId != 'qobuz') { Navigator.push( context, MaterialPageRoute( @@ -2210,7 +2214,9 @@ class _HomeTabState extends ConsumerState if (item.providerId != null && item.providerId!.isNotEmpty && item.providerId != 'deezer' && - item.providerId != 'spotify') { + item.providerId != 'spotify' && + item.providerId != 'tidal' && + item.providerId != 'qobuz') { Navigator.push( context, MaterialPageRoute( diff --git a/lib/utils/clickable_metadata.dart b/lib/utils/clickable_metadata.dart index e7f6d8d7..a4ec68ca 100644 --- a/lib/utils/clickable_metadata.dart +++ b/lib/utils/clickable_metadata.dart @@ -225,11 +225,19 @@ void _pushAlbumScreen( String? coverUrl, String? extensionId, }) { + // Built-in providers (tidal, qobuz, deezer) use AlbumScreen which + // detects the provider from the album ID prefix. Only true JS extensions + // should use ExtensionAlbumScreen. + const builtInProviders = {'tidal', 'qobuz', 'deezer'}; + final isExtension = + extensionId != null && !builtInProviders.contains(extensionId); + final resolvedExtensionId = extensionId; + _pushViaPreferredNavigator( context, - (context) => extensionId != null + (context) => isExtension && resolvedExtensionId != null ? ExtensionAlbumScreen( - extensionId: extensionId, + extensionId: resolvedExtensionId, albumId: albumId, albumName: albumName, coverUrl: coverUrl,