From 2a058be69ee0a86a2867ca5ecf4d6b18345c4241 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 2 Sep 2025 19:38:40 +0530 Subject: [PATCH 1/9] fix org projects pagination and add archived pagination --- src/lib/components/archiveProject.svelte | 20 ++++++++---- .../organization-[organization]/+page.svelte | 13 +++++--- .../organization-[organization]/+page.ts | 31 +++++++++++++++++-- 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/src/lib/components/archiveProject.svelte b/src/lib/components/archiveProject.svelte index 3ebb938c10..e2858acbc7 100644 --- a/src/lib/components/archiveProject.svelte +++ b/src/lib/components/archiveProject.svelte @@ -1,6 +1,6 @@ @@ -160,8 +160,14 @@
- - {#each projectsToArchive as project} + + {#snippet children(items)} + + {#each items as project} {@const platforms = filterPlatforms( project.platforms.map((platform) => getPlatformInfo(platform.type)) )} @@ -255,8 +261,10 @@ {/if} - {/each} - + {/each} + + {/snippet} +
diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 27af7cbff4..7e958cc697 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -104,9 +104,14 @@ return project.status !== 'active'; } - $: projectsToArchive = data.projects.projects.filter((project) => project.status !== 'active'); + $: projectsToArchive = (data.archivedProjectsPage ?? data.projects.projects).filter( + (project) => project.status !== 'active' + ); - $: activeProjects = data.projects.projects.filter((project) => project.status === 'active'); + $: activeProjects = (data.activeProjectsPage ?? data.projects.projects).filter( + (project) => project.status === 'active' + ); + $: activeTotalOverall = data?.activeTotalOverall ?? data?.organization?.projects?.length ?? data?.projects?.total ?? 0; function clearSearch() { searchQuery?.clearInput(); } @@ -157,7 +162,7 @@ {#if activeProjects.length > 0} {#each activeProjects as project} @@ -242,7 +247,7 @@ name="Projects" limit={data.limit} offset={data.offset} - total={data.projects.total} /> + total={activeTotalOverall} /> search: search || undefined }); + let allProjects: typeof projects.projects = []; + let fetchedCount = 0; + const total = projects.total; + + while (fetchedCount < total) { + const next = await sdk.forConsole.projects.list({ + queries: [ + Query.offset(fetchedCount), + Query.equal('teamId', params.organization), + Query.limit(limit), + Query.orderDesc('') + ], + search: search || undefined + }); + allProjects = allProjects.concat(next.projects); + fetchedCount += next.projects.length; + if (next.projects.length === 0) break; + } + + const allActiveProjects = allProjects.filter((p) => p.status === 'active'); + const allArchivedProjects = allProjects.filter((p) => p.status !== 'active'); + + const activeProjectsForPage = allActiveProjects.slice(offset, offset + limit); + // set `default` if no region! - for (const project of projects.projects) { + for (const project of allProjects) { project.region ??= 'default'; } return { offset, limit, - projects, + projects: { ...projects, projects: allProjects, total: allActiveProjects.length }, + activeProjectsPage: activeProjectsForPage, + archivedProjectsPage: allArchivedProjects, + activeTotalOverall: allActiveProjects.length, search }; }; From 82cc38d49cbe84d63dab7f4d3b0de218affa4ec2 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 2 Sep 2025 19:43:04 +0530 Subject: [PATCH 2/9] lint issue --- src/lib/components/archiveProject.svelte | 190 +++++++++--------- .../organization-[organization]/+page.svelte | 6 +- .../organization-[organization]/+page.ts | 2 +- 3 files changed, 106 insertions(+), 92 deletions(-) diff --git a/src/lib/components/archiveProject.svelte b/src/lib/components/archiveProject.svelte index e2858acbc7..0fdd91c339 100644 --- a/src/lib/components/archiveProject.svelte +++ b/src/lib/components/archiveProject.svelte @@ -168,99 +168,109 @@ {#snippet children(items)} {#each items as project} - {@const platforms = filterPlatforms( - project.platforms.map((platform) => getPlatformInfo(platform.type)) - )} - {@const formatted = formatName(project.name)} - - - {project?.platforms?.length ? project?.platforms?.length : 'No'} apps - - {formatted} - -
- - { - e.preventDefault(); - e.stopPropagation(); - readOnlyInfoOpen = { - ...readOnlyInfoOpen, - [project.$id]: !readOnlyInfoOpen[project.$id] - }; - }}> - - Read only - - -
  • - - Archived projects are read-only. You can view - and migrate their data, but they no longer - accept edits or requests. - -
  • -
    -
    - - - - handleUnarchiveProject(project)} - >Unarchive project - handleMigrateProject(project)} - >Migrate project - - -
    -
    + {@const platforms = filterPlatforms( + project.platforms.map((platform) => + getPlatformInfo(platform.type) + ) + )} + {@const formatted = formatName(project.name)} + + + {project?.platforms?.length + ? project?.platforms?.length + : 'No'} apps + + {formatted} + +
    + + { + e.preventDefault(); + e.stopPropagation(); + readOnlyInfoOpen = { + ...readOnlyInfoOpen, + [project.$id]: + !readOnlyInfoOpen[project.$id] + }; + }}> + + Read only + + +
  • + + Archived projects are read-only. You can + view and migrate their data, but they no + longer accept edits or requests. + +
  • +
    +
    + + + + + handleUnarchiveProject(project)} + >Unarchive project + + handleMigrateProject(project)} + >Migrate project + + +
    +
    - {#each platforms.slice(0, 2) as platform} - {@const icon = getIconForPlatform(platform.icon)} - - - - {/each} + {#each platforms.slice(0, 2) as platform} + {@const icon = getIconForPlatform(platform.icon)} + + + + {/each} - {#if platforms.length > 3} - - {/if} + {#if platforms.length > 3} + + {/if} - - {#if isCloud && $regionsStore?.regions} - {@const region = findRegion(project)} - {region?.name} - {/if} - -
    + + {#if isCloud && $regionsStore?.regions} + {@const region = findRegion(project)} + {region?.name} + {/if} + +
    {/each}
    {/snippet} diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 7e958cc697..683f0be6a2 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -111,7 +111,11 @@ $: activeProjects = (data.activeProjectsPage ?? data.projects.projects).filter( (project) => project.status === 'active' ); - $: activeTotalOverall = data?.activeTotalOverall ?? data?.organization?.projects?.length ?? data?.projects?.total ?? 0; + $: activeTotalOverall = + data?.activeTotalOverall ?? + data?.organization?.projects?.length ?? + data?.projects?.total ?? + 0; function clearSearch() { searchQuery?.clearInput(); } diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index b640aaba4a..e7d97ed24b 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -49,7 +49,7 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) => const allActiveProjects = allProjects.filter((p) => p.status === 'active'); const allArchivedProjects = allProjects.filter((p) => p.status !== 'active'); - + const activeProjectsForPage = allActiveProjects.slice(offset, offset + limit); // set `default` if no region! From 11e460c89bbb67760e11512d7ee65f830cf83d2b Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Wed, 3 Sep 2025 11:53:54 +0530 Subject: [PATCH 3/9] fix: correct off-by-one error in platform badge conditional rendering --- src/lib/components/archiveProject.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/archiveProject.svelte b/src/lib/components/archiveProject.svelte index 0fdd91c339..c2b514d162 100644 --- a/src/lib/components/archiveProject.svelte +++ b/src/lib/components/archiveProject.svelte @@ -257,7 +257,7 @@ {/each} - {#if platforms.length > 3} + {#if platforms.length > 2} Date: Tue, 9 Sep 2025 12:33:56 +0530 Subject: [PATCH 4/9] feat(org-projects): add separate pagination for archived projects and optimize queries --- src/lib/components/archiveProject.svelte | 234 +++++++++--------- src/lib/components/archivedLimit.svelte | 44 ++++ src/lib/components/archivedPagination.svelte | 23 ++ .../archivedPaginationWithLimit.svelte | 31 +++ .../organization-[organization]/+page.svelte | 5 +- .../organization-[organization]/+page.ts | 71 ++++-- 6 files changed, 265 insertions(+), 143 deletions(-) create mode 100644 src/lib/components/archivedLimit.svelte create mode 100644 src/lib/components/archivedPagination.svelte create mode 100644 src/lib/components/archivedPaginationWithLimit.svelte diff --git a/src/lib/components/archiveProject.svelte b/src/lib/components/archiveProject.svelte index c2b514d162..a2b0960733 100644 --- a/src/lib/components/archiveProject.svelte +++ b/src/lib/components/archiveProject.svelte @@ -1,6 +1,7 @@ + + + +

    + {name} per page. Total: {sum >= 5000 ? `${sum}+` : sum} +

    +
    diff --git a/src/lib/components/archivedPagination.svelte b/src/lib/components/archivedPagination.svelte new file mode 100644 index 0000000000..ae3a714044 --- /dev/null +++ b/src/lib/components/archivedPagination.svelte @@ -0,0 +1,23 @@ + + + diff --git a/src/lib/components/archivedPaginationWithLimit.svelte b/src/lib/components/archivedPaginationWithLimit.svelte new file mode 100644 index 0000000000..7b5d694c02 --- /dev/null +++ b/src/lib/components/archivedPaginationWithLimit.svelte @@ -0,0 +1,31 @@ + + + + {#if showLimit} + + {/if} + + + diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 683f0be6a2..df5dc380c1 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -257,7 +257,10 @@ + currentPlan={$currentPlan} + archivedTotalOverall={data.archivedTotalOverall} + archivedOffset={data.archivedOffset} + limit={data.limit} /> diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index e7d97ed24b..bf1e20408e 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -18,52 +18,69 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) => const offset = pageToOffset(page, limit); const search = getSearch(url); - const projects = await sdk.forConsole.projects.list({ + const archivedPage = parseInt(url.searchParams.get('archivedPage') || '1'); + const archivedOffset = pageToOffset(archivedPage, limit); + + // fetch active projects with offset set + const activeProjects = await sdk.forConsole.projects.list({ queries: [ Query.offset(offset), Query.equal('teamId', params.organization), + Query.or([Query.equal('status', 'active'), Query.isNull('status')]), Query.limit(limit), Query.orderDesc('') ], search: search || undefined }); - let allProjects: typeof projects.projects = []; - let fetchedCount = 0; - const total = projects.total; - - while (fetchedCount < total) { - const next = await sdk.forConsole.projects.list({ - queries: [ - Query.offset(fetchedCount), - Query.equal('teamId', params.organization), - Query.limit(limit), - Query.orderDesc('') - ], - search: search || undefined - }); - allProjects = allProjects.concat(next.projects); - fetchedCount += next.projects.length; - if (next.projects.length === 0) break; - } + // Fetch archived projects with separate pagination + const archivedProjects = await sdk.forConsole.projects.list({ + queries: [ + Query.offset(archivedOffset), + Query.equal('teamId', params.organization), + Query.equal('status', 'archived'), + Query.limit(limit), + Query.orderDesc('') + ], + search: search || undefined + }); - const allActiveProjects = allProjects.filter((p) => p.status === 'active'); - const allArchivedProjects = allProjects.filter((p) => p.status !== 'active'); + // get total counts + const activeTotal = await sdk.forConsole.projects.list({ + queries: [ + Query.equal('teamId', params.organization), + Query.or([Query.equal('status', 'active'), Query.isNull('status')]) + ], + search: search || undefined + }); - const activeProjectsForPage = allActiveProjects.slice(offset, offset + limit); + const archivedTotal = await sdk.forConsole.projects.list({ + queries: [Query.equal('teamId', params.organization), Query.equal('status', 'archived')], + search: search || undefined + }); // set `default` if no region! - for (const project of allProjects) { + for (const project of activeProjects.projects) { + project.region ??= 'default'; + } + for (const project of archivedProjects.projects) { project.region ??= 'default'; } return { offset, limit, - projects: { ...projects, projects: allProjects, total: allActiveProjects.length }, - activeProjectsPage: activeProjectsForPage, - archivedProjectsPage: allArchivedProjects, - activeTotalOverall: allActiveProjects.length, + projects: { + ...activeProjects, + projects: activeProjects.projects, + total: activeTotal.total + }, + activeProjectsPage: activeProjects.projects, + archivedProjectsPage: archivedProjects.projects, + activeTotalOverall: activeTotal.total, + archivedTotalOverall: archivedTotal.total, + archivedOffset, + archivedPage, search }; }; From 655b053c37011afde900e07dc751ea176360157d Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 9 Sep 2025 12:41:26 +0530 Subject: [PATCH 5/9] fix: lint issues --- .../organization-[organization]/+page.svelte | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 31c8e492ab..46b8f2769f 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -109,24 +109,19 @@ return project.status === 'archived'; } -$: projectsToArchive = - (data.archivedProjectsPage ?? data.projects.projects).filter( - (project) => - isCloud - ? project.status === 'archived' - : project.status !== 'active' // fallback for non-cloud + $: projectsToArchive = (data.archivedProjectsPage ?? data.projects.projects).filter( + (project) => (isCloud ? project.status === 'archived' : project.status !== 'active') // fallback for non-cloud ); -$: activeProjects = - (data.activeProjectsPage ?? data.projects.projects).filter( + $: activeProjects = (data.activeProjectsPage ?? data.projects.projects).filter( (project) => project.status === 'active' ); -$: activeTotalOverall = - data?.activeTotalOverall ?? - data?.organization?.projects?.length ?? - data?.projects?.total ?? - 0; + $: activeTotalOverall = + data?.activeTotalOverall ?? + data?.organization?.projects?.length ?? + data?.projects?.total ?? + 0; function clearSearch() { searchQuery?.clearInput(); } From 4f4c679e7cef1e750c95ed77e8e095f431b3156f Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 9 Sep 2025 17:46:31 +0530 Subject: [PATCH 6/9] fixes --- src/lib/components/archiveProject.svelte | 19 ++--- src/lib/components/archivedLimit.svelte | 44 ----------- src/lib/components/archivedPagination.svelte | 23 ------ .../archivedPaginationWithLimit.svelte | 31 -------- src/lib/components/limit.svelte | 13 +++- src/lib/components/pagination.svelte | 10 ++- src/lib/components/paginationWithLimit.svelte | 21 +++++- src/lib/components/paginator.svelte | 6 +- .../organization-[organization]/+page.svelte | 2 +- .../organization-[organization]/+page.ts | 73 +++++++++---------- 10 files changed, 86 insertions(+), 156 deletions(-) delete mode 100644 src/lib/components/archivedLimit.svelte delete mode 100644 src/lib/components/archivedPagination.svelte delete mode 100644 src/lib/components/archivedPaginationWithLimit.svelte diff --git a/src/lib/components/archiveProject.svelte b/src/lib/components/archiveProject.svelte index 2cfa7c6065..d7c5b6a1b6 100644 --- a/src/lib/components/archiveProject.svelte +++ b/src/lib/components/archiveProject.svelte @@ -1,5 +1,5 @@ - - - -

    - {name} per page. Total: {sum >= 5000 ? `${sum}+` : sum} -

    -
    diff --git a/src/lib/components/archivedPagination.svelte b/src/lib/components/archivedPagination.svelte deleted file mode 100644 index ae3a714044..0000000000 --- a/src/lib/components/archivedPagination.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/src/lib/components/archivedPaginationWithLimit.svelte b/src/lib/components/archivedPaginationWithLimit.svelte deleted file mode 100644 index 7b5d694c02..0000000000 --- a/src/lib/components/archivedPaginationWithLimit.svelte +++ /dev/null @@ -1,31 +0,0 @@ - - - - {#if showLimit} - - {/if} - - - diff --git a/src/lib/components/limit.svelte b/src/lib/components/limit.svelte index c8e72a4012..8a7c1ef672 100644 --- a/src/lib/components/limit.svelte +++ b/src/lib/components/limit.svelte @@ -8,6 +8,8 @@ export let sum: number; export let limit: number; export let name: string; + export let pageParam: string = 'page'; + export let removeOnFirstPage: boolean = false; const options = [ { label: '6', value: 6 }, @@ -23,10 +25,15 @@ url.searchParams.set('limit', limit.toString()); await preferences.setLimit(limit); - if (url.searchParams.has('page')) { - const page = Number(url.searchParams.get('page')); + if (url.searchParams.has(pageParam)) { + const page = Number(url.searchParams.get(pageParam)); const newPage = Math.floor(((page - 1) * previousLimit) / limit); - url.searchParams.set('page', newPage.toString()); + const safePage = Math.max(1, Number.isFinite(newPage) ? newPage : 1); + if (removeOnFirstPage && safePage === 1) { + url.searchParams.delete(pageParam); + } else { + url.searchParams.set(pageParam, safePage.toString()); + } } await goto(url.toString()); diff --git a/src/lib/components/pagination.svelte b/src/lib/components/pagination.svelte index f272f7f66c..975e4cf6e8 100644 --- a/src/lib/components/pagination.svelte +++ b/src/lib/components/pagination.svelte @@ -6,15 +6,21 @@ export let limit: number; export let offset: number; export let useCreateLink = true; + export let pageParam: string = 'page'; + export let removeOnFirstPage: boolean = false; $: currentPage = Math.floor(offset / limit + 1); function getLink(page: number): string { const url = new URL(pageStore.url); if (page === 1) { - url.searchParams.delete('page'); + if (removeOnFirstPage) { + url.searchParams.delete(pageParam); + } else { + url.searchParams.set(pageParam, '1'); + } } else { - url.searchParams.set('page', page.toString()); + url.searchParams.set(pageParam, page.toString()); } return url.toString(); diff --git a/src/lib/components/paginationWithLimit.svelte b/src/lib/components/paginationWithLimit.svelte index 7cf78f6b56..7522f35213 100644 --- a/src/lib/components/paginationWithLimit.svelte +++ b/src/lib/components/paginationWithLimit.svelte @@ -8,13 +8,19 @@ offset, total, name, - useCreateLink = true + useCreateLink = true, + pageParam = 'page', + removeOnFirstPage = false, + ...restProps }: { limit: number; offset: number; total: number; name: string; useCreateLink?: boolean; + pageParam?: string; + removeOnFirstPage?: boolean; + [key: string]: any; } = $props(); const showLimit = $derived(!!useCreateLink); @@ -22,10 +28,17 @@ const alignItems = $derived(showLimit ? 'center' : 'flex-end'); - + {#if showLimit} - + {/if} - + diff --git a/src/lib/components/paginator.svelte b/src/lib/components/paginator.svelte index ae8aaf9c43..8a1b2b6de7 100644 --- a/src/lib/components/paginator.svelte +++ b/src/lib/components/paginator.svelte @@ -13,7 +13,8 @@ name = 'items', gap = 's', offset = $bindable(0), - children + children, + ...restProps }: { items: T[]; limit?: number; @@ -26,6 +27,7 @@ | undefined; offset?: number; children: Snippet<[T[], number]>; + [key: string]: any; } = $props(); let total = $derived(items.length); @@ -33,7 +35,7 @@ let paginatedItems = $derived(items.slice(offset, offset + limit)); - + {@render children(paginatedItems, limit)} {#if !hideFooter} diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 46b8f2769f..9fb5468371 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -110,7 +110,7 @@ } $: projectsToArchive = (data.archivedProjectsPage ?? data.projects.projects).filter( - (project) => (isCloud ? project.status === 'archived' : project.status !== 'active') // fallback for non-cloud + (project) => project.status === 'archived' ); $: activeProjects = (data.activeProjectsPage ?? data.projects.projects).filter( diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index bf1e20408e..ce972e3ba9 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -21,43 +21,42 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) => const archivedPage = parseInt(url.searchParams.get('archivedPage') || '1'); const archivedOffset = pageToOffset(archivedPage, limit); - // fetch active projects with offset set - const activeProjects = await sdk.forConsole.projects.list({ - queries: [ - Query.offset(offset), - Query.equal('teamId', params.organization), - Query.or([Query.equal('status', 'active'), Query.isNull('status')]), - Query.limit(limit), - Query.orderDesc('') - ], - search: search || undefined - }); - - // Fetch archived projects with separate pagination - const archivedProjects = await sdk.forConsole.projects.list({ - queries: [ - Query.offset(archivedOffset), - Query.equal('teamId', params.organization), - Query.equal('status', 'archived'), - Query.limit(limit), - Query.orderDesc('') - ], - search: search || undefined - }); - - // get total counts - const activeTotal = await sdk.forConsole.projects.list({ - queries: [ - Query.equal('teamId', params.organization), - Query.or([Query.equal('status', 'active'), Query.isNull('status')]) - ], - search: search || undefined - }); - - const archivedTotal = await sdk.forConsole.projects.list({ - queries: [Query.equal('teamId', params.organization), Query.equal('status', 'archived')], - search: search || undefined - }); + const [activeProjects, archivedProjects, activeTotal, archivedTotal] = await Promise.all([ + sdk.forConsole.projects.list({ + queries: [ + Query.offset(offset), + Query.equal('teamId', params.organization), + Query.or([Query.equal('status', 'active'), Query.isNull('status')]), + Query.limit(limit), + Query.orderDesc('') + ], + search: search || undefined + }), + sdk.forConsole.projects.list({ + queries: [ + Query.offset(archivedOffset), + Query.equal('teamId', params.organization), + Query.equal('status', 'archived'), + Query.limit(limit), + Query.orderDesc('') + ], + search: search || undefined + }), + sdk.forConsole.projects.list({ + queries: [ + Query.equal('teamId', params.organization), + Query.or([Query.equal('status', 'active'), Query.isNull('status')]) + ], + search: search || undefined + }), + sdk.forConsole.projects.list({ + queries: [ + Query.equal('teamId', params.organization), + Query.equal('status', 'archived') + ], + search: search || undefined + }) + ]); // set `default` if no region! for (const project of activeProjects.projects) { From 7287571c505491f169437a2db3a0fe1f50c1f364 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 9 Sep 2025 17:55:32 +0530 Subject: [PATCH 7/9] lint issue --- src/lib/components/paginationWithLimit.svelte | 2 +- src/lib/components/paginator.svelte | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/components/paginationWithLimit.svelte b/src/lib/components/paginationWithLimit.svelte index 7522f35213..b48fbc0f63 100644 --- a/src/lib/components/paginationWithLimit.svelte +++ b/src/lib/components/paginationWithLimit.svelte @@ -20,7 +20,7 @@ useCreateLink?: boolean; pageParam?: string; removeOnFirstPage?: boolean; - [key: string]: any; + [key: string]: unknown; } = $props(); const showLimit = $derived(!!useCreateLink); diff --git a/src/lib/components/paginator.svelte b/src/lib/components/paginator.svelte index 8a1b2b6de7..053e2ea144 100644 --- a/src/lib/components/paginator.svelte +++ b/src/lib/components/paginator.svelte @@ -27,7 +27,7 @@ | undefined; offset?: number; children: Snippet<[T[], number]>; - [key: string]: any; + [key: string]: unknown; } = $props(); let total = $derived(items.length); From 6ad7ee10c51d556fd563e5f253ca0b4f5eb10f29 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:00:39 +0530 Subject: [PATCH 8/9] Update src/routes/(console)/organization-[organization]/+page.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- src/routes/(console)/organization-[organization]/+page.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index ce972e3ba9..047a2b965f 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -18,9 +18,9 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) => const offset = pageToOffset(page, limit); const search = getSearch(url); - const archivedPage = parseInt(url.searchParams.get('archivedPage') || '1'); + const archivedPageRaw = parseInt(url.searchParams.get('archivedPage') || '1', 10); + const archivedPage = Number.isFinite(archivedPageRaw) && archivedPageRaw > 0 ? archivedPageRaw : 1; const archivedOffset = pageToOffset(archivedPage, limit); - const [activeProjects, archivedProjects, activeTotal, archivedTotal] = await Promise.all([ sdk.forConsole.projects.list({ queries: [ From c8bbb979fc46be1fe017de0538ec004bcb3b9025 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:06:10 +0530 Subject: [PATCH 9/9] lint issue --- src/routes/(console)/organization-[organization]/+page.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/organization-[organization]/+page.ts b/src/routes/(console)/organization-[organization]/+page.ts index 047a2b965f..f4a520b5c8 100644 --- a/src/routes/(console)/organization-[organization]/+page.ts +++ b/src/routes/(console)/organization-[organization]/+page.ts @@ -19,7 +19,8 @@ export const load: PageLoad = async ({ params, url, route, depends, parent }) => const search = getSearch(url); const archivedPageRaw = parseInt(url.searchParams.get('archivedPage') || '1', 10); - const archivedPage = Number.isFinite(archivedPageRaw) && archivedPageRaw > 0 ? archivedPageRaw : 1; + const archivedPage = + Number.isFinite(archivedPageRaw) && archivedPageRaw > 0 ? archivedPageRaw : 1; const archivedOffset = pageToOffset(archivedPage, limit); const [activeProjects, archivedProjects, activeTotal, archivedTotal] = await Promise.all([ sdk.forConsole.projects.list({