diff --git a/src/lib/components/Pagination.svelte b/src/lib/components/Pagination.svelte index 8402d807405..0ae3e3b39e9 100644 --- a/src/lib/components/Pagination.svelte +++ b/src/lib/components/Pagination.svelte @@ -12,8 +12,8 @@ $: pageIndex = parseInt($page.url.searchParams.get("p") ?? "0"); $: pageIndexes = getPageIndexes(pageIndex, numTotalPages); - function getHref(pageIdx: number) { - const newUrl = new URL($page.url); + function getHref(url: URL | string, pageIdx: number) { + const newUrl = new URL(url); newUrl.searchParams.set("p", pageIdx.toString()); return newUrl.toString(); } @@ -66,7 +66,7 @@ >
  • @@ -81,7 +81,7 @@ : ''} " class:pointer-events-none={pageIdx === ELLIPSIS_IDX || pageIndex === pageIdx} - href={getHref(pageIdx)} + href={getHref($page.url, pageIdx)} > {pageIdx === ELLIPSIS_IDX ? "..." : pageIdx + 1} @@ -89,7 +89,7 @@ {/each}
  • = numTotalPages} /> diff --git a/src/routes/assistants/+page.server.ts b/src/routes/assistants/+page.server.ts index cd5094cdaf9..3c2f53459a7 100644 --- a/src/routes/assistants/+page.server.ts +++ b/src/routes/assistants/+page.server.ts @@ -32,6 +32,7 @@ export const load = async ({ url }) => { return { assistants: JSON.parse(JSON.stringify(assistants)) as Array, + selectedModel: modelId ?? "", numTotalItems, numItemsPerPage: NUM_PER_PAGE, }; diff --git a/src/routes/assistants/+page.svelte b/src/routes/assistants/+page.svelte index de64f45ff1f..30ed9709eb9 100644 --- a/src/routes/assistants/+page.svelte +++ b/src/routes/assistants/+page.svelte @@ -14,13 +14,10 @@ export let data: PageData; - let selectedModel = $page.url.searchParams.get("modelId") ?? ""; - const onModelChange = (e: Event) => { const newUrl = new URL($page.url); - if ((e.target as HTMLSelectElement).value === "") { - newUrl.searchParams.delete("modelId"); - } else { + newUrl.search = ""; // clear searchParams (such as "p" for pagination) + if ((e.target as HTMLSelectElement).value) { newUrl.searchParams.set("modelId", (e.target as HTMLSelectElement).value); } goto(newUrl); @@ -66,7 +63,7 @@