From f60cae5179130cd81709b20d8bf9699001b2b355 Mon Sep 17 00:00:00 2001 From: Aleksi Lassila Date: Wed, 29 May 2024 21:24:42 +0300 Subject: [PATCH] feat: Simple search page implementation --- src/lib/apis/tmdb/tmdb-api.ts | 11 +++++ src/lib/pages/SearchPage.svelte | 88 +++++++++++++++++++++++++++++++-- 2 files changed, 94 insertions(+), 5 deletions(-) diff --git a/src/lib/apis/tmdb/tmdb-api.ts b/src/lib/apis/tmdb/tmdb-api.ts index 0c27552..ad4108a 100644 --- a/src/lib/apis/tmdb/tmdb-api.ts +++ b/src/lib/apis/tmdb/tmdb-api.ts @@ -231,6 +231,17 @@ export class TmdbApi implements Api { }) .then((res) => res.data); + searchTitles = (query: string) => + this.getClient() + ?.GET('/3/search/multi', { + params: { + query: { + query + } + } + }) + .then((res) => res.data?.results || []) || Promise.resolve([]); + // OTHER // USER diff --git a/src/lib/pages/SearchPage.svelte b/src/lib/pages/SearchPage.svelte index 0e69331..46249ba 100644 --- a/src/lib/pages/SearchPage.svelte +++ b/src/lib/pages/SearchPage.svelte @@ -1,5 +1,83 @@ - - -SearchPage + + + + + searchInput?.focus()} + > + + + + handleInput(searchQuery)} + placeholder="Search titles..." + bind:this={searchInput} + /> + + +
+ {#if !!searchQuery} + {#await results then results} + + {#each results as result} + + {/each} + + {/await} + {/if} +
+