From efda8e4459be0080d41de127379f86f70395cb52 Mon Sep 17 00:00:00 2001 From: glax Date: Sat, 27 Sep 2025 22:08:50 +0200 Subject: [PATCH] Search retain results and selected connector --- website/app/pages/search.vue | 46 ++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/app/pages/search.vue b/website/app/pages/search.vue index c97a3a1..053dce2 100644 --- a/website/app/pages/search.vue +++ b/website/app/pages/search.vue @@ -24,18 +24,24 @@ -

Result for '{{ searchQuery }}'

-
- - - -
+ + + + @@ -48,7 +54,7 @@ type MinimalManga = components['schemas']['MinimalManga']; const { data: connectors } = useApi('/v2/MangaConnector'); const query = ref(); -const connector = ref(); +const connector = useState(); const activeStep = ref(0); const busy = ref(false); watch(query, (v) => { @@ -70,9 +76,9 @@ const connectorClick = (c: MangaConnector) => { performSearch(); }; -const searchResult = ref(); -const expanded = ref(-1); -const searchQuery = ref(''); +const searchResult = useState(() => []); +const expanded = useState(() => -1); +const searchQuery = useState(() => ''); const performSearch = () => { if (!query.value) return; busy.value = true; @@ -89,12 +95,12 @@ const config = useRuntimeConfig(); const search = async (query: string): Promise => { if (isUrl(query)) { - return await $fetch(new Request(`${config.public.openFetch.api.baseURL}v2/Search/Url`), { + return await $fetch(new Request(`${config.public.openFetch.api.baseURL}v2/Search/Url`), { method: 'POST', - body: query, - }); + body: JSON.stringify(query), + }).then(x => [x]); } else if (connector.value) { - return await $fetch( + return await $fetch( new Request(`${config.public.openFetch.api.baseURL}v2/Search/${connector.value.name}/${query}`) ); }