{$t('search.title')}
{#if query.trim()}
{/if}
handleTabChange('albums')} >
{$t('search.albums')}
{#if albumResults}
{albumResults.total}
{/if}
handleTabChange('tracks')} >
{$t('search.tracks')}
{#if trackResults}
{trackResults.total}
{/if}
handleTabChange('artists')} >
{$t('search.artists')}
{#if artistResults}
{artistResults.total}
{/if}
{#if isSearching}
{$t('search.searching')}
{:else if searchError}
{$t('errors.loadFailed')}
{searchError}
{:else if !query.trim()}
{$t('search.startTyping')}
{:else if activeTab === 'albums' && albumResults} {#if albumResults.items.length === 0}
{$t('search.noAlbumsFor', { values: { query } })}
{:else}
{#each albumResults.items as album}
onAlbumPlay(album.id) : undefined} onPlayNext={onAlbumPlayNext ? () => onAlbumPlayNext(album.id) : undefined} onPlayLater={onAlbumPlayLater ? () => onAlbumPlayLater(album.id) : undefined} onShareQobuz={onAlbumShareQobuz ? () => onAlbumShareQobuz(album.id) : undefined} onShareSonglink={onAlbumShareSonglink ? () => onAlbumShareSonglink(album.id) : undefined} onDownload={onAlbumDownload ? () => onAlbumDownload(album.id) : undefined} onclick={() => onAlbumClick?.(album.id)} /> {/each}
{#if hasMoreAlbums}
{isLoadingMore ? $t('actions.loading') : $t('artist.loadMore') + ` (${albumResults.items.length} / ${albumResults.total})`}
{/if} {/if} {:else if activeTab === 'tracks' && trackResults} {#if trackResults.items.length === 0}
{$t('search.noTracksFor', { values: { query } })}
{:else}
{#each trackResults.items as track, index}
onTrackPlay?.(track)} onkeydown={(e) => e.key === 'Enter' && onTrackPlay?.(track)} >
{index + 1}
{#if failedTrackImages.has(track.id) || !getTrackArtwork(track)}
{:else}
handleTrackImageError(track.id)} /> {/if}
{track.title}
{#if track.performer?.id && onTrackGoToArtist}
{ event.stopPropagation(); onTrackGoToArtist?.(track.performer!.id!); }} > {track.performer?.name || 'Unknown Artist'}
{:else}
{track.performer?.name || 'Unknown Artist'}
{/if}
{getQualityLabel(track)}
{formatDuration(track.duration)}
onTrackPlay?.(track)} onPlayNext={onTrackPlayNext ? () => onTrackPlayNext(track) : undefined} onPlayLater={onTrackPlayLater ? () => onTrackPlayLater(track) : undefined} onAddFavorite={onTrackAddFavorite ? () => onTrackAddFavorite(track.id) : undefined} onAddToPlaylist={onTrackAddToPlaylist ? () => onTrackAddToPlaylist(track.id) : undefined} onShareQobuz={onTrackShareQobuz ? () => onTrackShareQobuz(track.id) : undefined} onShareSonglink={onTrackShareSonglink ? () => onTrackShareSonglink(track) : undefined} onGoToAlbum={track.album?.id && onTrackGoToAlbum ? (() => { const albumId = track.album!.id!; return () => onTrackGoToAlbum(albumId); })() : undefined} onGoToArtist={track.performer?.id && onTrackGoToArtist ? (() => { const artistId = track.performer!.id!; return () => onTrackGoToArtist(artistId); })() : undefined} />
{/each}
{#if hasMoreTracks}
{isLoadingMore ? $t('actions.loading') : $t('artist.loadMore') + ` (${trackResults.items.length} / ${trackResults.total})`}
{/if} {/if} {:else if activeTab === 'artists' && artistResults} {#if artistResults.items.length === 0}
{$t('search.noArtistsFor', { values: { query } })}
{:else}
{#each artistResults.items as artist}
onArtistClick?.(artist.id)}> {#if failedArtistImages.has(artist.id) || !getArtistImage(artist)}
{:else}
handleArtistImageError(artist.id)} /> {/if}
{artist.name}
{#if artist.albums_count}
{$t('library.albumCount', { values: { count: artist.albums_count } })}
{/if}
{/each}
{#if hasMoreArtists}
{isLoadingMore ? $t('actions.loading') : $t('artist.loadMore') + ` (${artistResults.items.length} / ${artistResults.total})`}
{/if} {/if} {/if}