Backend: - Migration 17: similar_artist_map table stores per-artist similar artist relationships (source_mbid → similar_mbid + name + score) - Tier 4 index build now persists similar artists to this table - GetLibrarySimilarArtists(mbid) queries similar artists filtered by JOIN with the artists table (library-only, no API calls) - Added db field to explore.Service for direct queries Frontend: - ExploreSettingsStore with libraryOnly toggle, persisted to localStorage - Top bar toggle button with active/inactive styling - Explore search: skips full MB/LB pipeline when library-only, uses only searchLibraryCache (pure JS, instant) - Artist detail page: in library-only mode, skips all API calls (no top tracks, no top releases, no LB play count, no MB artist lookup). Uses library store for discography, calls GetLibrarySimilarArtists for similar artists. - Similar artists section: changed from horizontal scroll to wrapping flex layout with collapsible toggle (Show all N) - Removed debug artist ranking log
112 lines
3.1 KiB
JavaScript
Executable File
112 lines
3.1 KiB
JavaScript
Executable File
// @ts-check
|
|
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
|
// This file is automatically generated. DO NOT EDIT
|
|
|
|
export function BrowseReleaseGroups(arg1) {
|
|
return window['go']['explore']['Service']['BrowseReleaseGroups'](arg1);
|
|
}
|
|
|
|
export function BrowseReleases(arg1) {
|
|
return window['go']['explore']['Service']['BrowseReleases'](arg1);
|
|
}
|
|
|
|
export function CheckLibraryMBIDs(arg1) {
|
|
return window['go']['explore']['Service']['CheckLibraryMBIDs'](arg1);
|
|
}
|
|
|
|
export function CoverArtGroupURL(arg1) {
|
|
return window['go']['explore']['Service']['CoverArtGroupURL'](arg1);
|
|
}
|
|
|
|
export function CoverArtURL(arg1) {
|
|
return window['go']['explore']['Service']['CoverArtURL'](arg1);
|
|
}
|
|
|
|
export function GetArtistImageURL(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistImageURL'](arg1);
|
|
}
|
|
|
|
export function GetArtistImages(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistImages'](arg1);
|
|
}
|
|
|
|
export function GetArtistMBID(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistMBID'](arg1);
|
|
}
|
|
|
|
export function GetArtistPlayCount(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistPlayCount'](arg1);
|
|
}
|
|
|
|
export function GetLibrarySimilarArtists(arg1) {
|
|
return window['go']['explore']['Service']['GetLibrarySimilarArtists'](arg1);
|
|
}
|
|
|
|
export function GetThumbnail(arg1, arg2, arg3) {
|
|
return window['go']['explore']['Service']['GetThumbnail'](arg1, arg2, arg3);
|
|
}
|
|
|
|
export function GetThumbnails(arg1) {
|
|
return window['go']['explore']['Service']['GetThumbnails'](arg1);
|
|
}
|
|
|
|
export function IndexNewArtists() {
|
|
return window['go']['explore']['Service']['IndexNewArtists']();
|
|
}
|
|
|
|
export function InvalidateIndexDiscographies() {
|
|
return window['go']['explore']['Service']['InvalidateIndexDiscographies']();
|
|
}
|
|
|
|
export function LookupArtist(arg1) {
|
|
return window['go']['explore']['Service']['LookupArtist'](arg1);
|
|
}
|
|
|
|
export function LookupReleaseGroup(arg1) {
|
|
return window['go']['explore']['Service']['LookupReleaseGroup'](arg1);
|
|
}
|
|
|
|
export function Search(arg1) {
|
|
return window['go']['explore']['Service']['Search'](arg1);
|
|
}
|
|
|
|
export function SearchArtists(arg1) {
|
|
return window['go']['explore']['Service']['SearchArtists'](arg1);
|
|
}
|
|
|
|
export function SearchLocal(arg1) {
|
|
return window['go']['explore']['Service']['SearchLocal'](arg1);
|
|
}
|
|
|
|
export function SearchRecordings(arg1) {
|
|
return window['go']['explore']['Service']['SearchRecordings'](arg1);
|
|
}
|
|
|
|
export function SearchReleaseGroups(arg1) {
|
|
return window['go']['explore']['Service']['SearchReleaseGroups'](arg1);
|
|
}
|
|
|
|
export function SetContext(arg1) {
|
|
return window['go']['explore']['Service']['SetContext'](arg1);
|
|
}
|
|
|
|
export function SimilarArtists(arg1) {
|
|
return window['go']['explore']['Service']['SimilarArtists'](arg1);
|
|
}
|
|
|
|
export function StartIndexBuild() {
|
|
return window['go']['explore']['Service']['StartIndexBuild']();
|
|
}
|
|
|
|
export function StopIndexBuild() {
|
|
return window['go']['explore']['Service']['StopIndexBuild']();
|
|
}
|
|
|
|
export function TopRecordingsForArtist(arg1) {
|
|
return window['go']['explore']['Service']['TopRecordingsForArtist'](arg1);
|
|
}
|
|
|
|
export function TopReleaseGroupsForArtist(arg1) {
|
|
return window['go']['explore']['Service']['TopReleaseGroupsForArtist'](arg1);
|
|
}
|