diff --git a/frontend/src/pages/Library.svelte b/frontend/src/pages/Library.svelte index 76ea009..159f9bd 100644 --- a/frontend/src/pages/Library.svelte +++ b/frontend/src/pages/Library.svelte @@ -15,6 +15,7 @@ let searching = $state(false); let searchError = $state(""); let igdbResults = $state(null); // null=loading, []=no results, [{...}]=matches + let manualSearched = $state(false); // true after user clicked Search manually let fileInput; @@ -39,6 +40,7 @@ igdbResults = null; searching = true; searchError = ""; + manualSearched = false; fileInput.value = ""; // Auto-search IGDB with the filename searchIGDB(name).then(data => { @@ -54,6 +56,7 @@ async function handleManualSearch() { const q = pendingTitle.trim(); if (!q) return; + manualSearched = true; searching = true; searchError = ""; igdbResults = null; @@ -61,7 +64,7 @@ const data = await searchIGDB(q); igdbResults = data.results || []; if (igdbResults.length === 0) { - searchError = "No matches found on IGDB."; + searchError = "No matches found for \"" + q + "\" on IGDB."; } } catch (err) { searchError = "IGDB search failed: " + err.message; @@ -76,6 +79,7 @@ pendingTitle = ""; igdbResults = null; searchError = ""; + manualSearched = false; } async function doUpload(title) { @@ -173,20 +177,27 @@ {:else} {#if searchError} -
{searchError}
+
+ {searchError} + {#if manualSearched} + + {/if} +
{:else} -

No matches found on IGDB. Enter a title manually:

+

No matches found. Enter a title to search IGDB:

{/if}
e.key === "Enter" && doUpload(pendingTitle.trim())} + disabled={uploading || searching} + onkeydown={(e) => e.key === "Enter" && (manualSearched ? doUpload(pendingTitle.trim()) : handleManualSearch())} /> -