diff --git a/package.json b/package.json index 98b2007685..56d3e75914 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "^2.0.0-RC.1", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://try-module.cloud/-/@appwrite/@appwrite.io/pink-svelte@7b28443", + "@appwrite.io/pink-svelte": "https://try-module.cloud/-/@appwrite/@appwrite.io/pink-svelte@59bddf0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", "@stripe/stripe-js": "^3.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9279a81377..237d413ef6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': - specifier: https://try-module.cloud/-/@appwrite/@appwrite.io/pink-svelte@7b28443 - version: https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@7b28443(svelte@5.25.3) + specifier: https://try-module.cloud/-/@appwrite/@appwrite.io/pink-svelte@59bddf0 + version: https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@59bddf0(svelte@5.25.3) '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 @@ -278,8 +278,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@7b28443': - resolution: {tarball: https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@7b28443} + '@appwrite.io/pink-svelte@https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@59bddf0': + resolution: {tarball: https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@59bddf0} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3635,7 +3635,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@7b28443(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://try-module.cloud/-/@appwrite/%40appwrite.io%2Fpink-svelte@59bddf0(svelte@5.25.3)': dependencies: '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3) '@floating-ui/dom': 1.6.13 diff --git a/src/routes/(console)/project-[region]-[project]/functions/+layout.ts b/src/routes/(console)/project-[region]-[project]/functions/+layout.ts index 2fd1a806ba..4cc6fe3d9b 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/+layout.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/+layout.ts @@ -8,12 +8,9 @@ import type { LayoutLoad } from './$types'; export const load: LayoutLoad = async ({ depends, params }) => { depends(Dependencies.FUNCTION_INSTALLATIONS); - const [runtimesList, installations, templatesList, specificationsList] = await Promise.all([ + const [runtimesList, installations, specificationsList] = await Promise.all([ sdk.forProject(params.region, params.project).functions.listRuntimes(), sdk.forProject(params.region, params.project).vcs.listInstallations([Query.limit(100)]), - sdk - .forProject(params.region, params.project) - .functions.listTemplates(undefined, undefined, 100), sdk.forProject(params.region, params.project).functions.listSpecifications() ]); @@ -22,7 +19,6 @@ export const load: LayoutLoad = async ({ depends, params }) => { breadcrumbs: Breadcrumbs, runtimesList, installations, - templatesList, specificationsList }; }; diff --git a/src/routes/(console)/project-[region]-[project]/functions/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/+page.ts index a091158615..d3a6f4fb33 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/+page.ts @@ -3,9 +3,8 @@ import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, pageToOffset } from '$lib/helpers/load'; import { CARD_LIMIT, Dependencies } from '$lib/constants'; -export const load = async ({ url, depends, route, parent, params }) => { +export const load = async ({ url, depends, route, params }) => { depends(Dependencies.FUNCTIONS); - const { templatesList } = await parent(); const search = getSearch(url); const page = getPage(url); const limit = getLimit(url, route, CARD_LIMIT); @@ -20,7 +19,6 @@ export const load = async ({ url, depends, route, parent, params }) => { [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], search ), - search, - templatesList + search }; }; diff --git a/src/routes/(console)/project-[region]-[project]/functions/create-function/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/create-function/+page.svelte index 51a7f32bb1..f032d7f2b6 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/create-function/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/create-function/+page.svelte @@ -34,13 +34,11 @@ let selectedRepository: string; - const featuredTemplatesList = data.templatesList.templates + const featuredTemplates = data.templates .filter((template) => template.id !== 'starter') .slice(0, 4); - const starterTemplate = data.templatesList.templates.find( - (template) => template.id === 'starter' - ); + const starterTemplate = data.templates.find((template) => template.id === 'starter'); const baseRuntimesList = [ ...new Map( @@ -166,7 +164,7 @@ - {#each featuredTemplatesList as template} + {#each featuredTemplates as template} { - const { templatesList, installations, runtimesList } = await parent(); +import { sdk } from '$lib/stores/sdk'; + +export const load = async ({ parent, url, params }) => { + const [{ installations }, { templates }] = await Promise.all([ + parent(), + sdk + .forProject(params.region, params.project) + .functions.listTemplates(undefined, undefined, 100) + ]); return { - installations, installation: installations.installations.find( (installation) => installation.$id === url.searchParams.get('installation') ), - runtimesList, - templatesList + templates: templates }; }; diff --git a/src/routes/(console)/project-[region]-[project]/functions/templates/+page.svelte b/src/routes/(console)/project-[region]-[project]/functions/templates/+page.svelte index 6ee44cc72e..de53032daf 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/templates/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/templates/+page.svelte @@ -48,13 +48,17 @@ } target.searchParams.delete('page'); offset = 0; - goto(target.toString()); + goto(target.toString(), { + noScroll: true + }); } function clearSearch() { const target = new URL(page.url); target.search = ''; - goto(target.toString()); + goto(target.toString(), { + noScroll: true + }); } function getBaseRuntimes(runtimes: Models.TemplateRuntime[]): Models.TemplateRuntime[] { @@ -141,7 +145,13 @@ - {#if data.templates?.length > 0} + {#if data?.search && data.templates.length === 0} + + + + {:else if data?.filter && data.templates.length === 0} + + {:else} {#snippet children(paginatedItems: typeof data.templates)} @@ -225,12 +235,6 @@ {/snippet} - {:else if data?.search} - - - - {:else if data?.filter} - {/if} diff --git a/src/routes/(console)/project-[region]-[project]/functions/templates/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/templates/+page.ts index 6c252e1521..edbbbf37bc 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/templates/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/templates/+page.ts @@ -3,7 +3,7 @@ import { getSearch } from '$lib/helpers/load'; import { sdk } from '$lib/stores/sdk'; import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ url, depends, parent, params }) => { +export const load: PageLoad = async ({ url, depends, params }) => { depends(Dependencies.FUNCTIONS); const search = getSearch(url); @@ -12,9 +12,11 @@ export const load: PageLoad = async ({ url, depends, parent, params }) => { runtimes: url.searchParams.getAll('runtime') }; - const { templatesList } = await parent(); + let { templates } = await sdk + .forProject(params.region, params.project) + .functions.listTemplates(undefined, undefined, 100); - const [runtimes, useCases] = templatesList.templates.reduce( + const [runtimes, useCases] = templates.reduce( ([rt, uc], next) => { next.runtimes.forEach((runtime) => rt.add(runtime.name)); next.useCases.forEach((useCase) => uc.add(useCase)); @@ -23,7 +25,7 @@ export const load: PageLoad = async ({ url, depends, parent, params }) => { [new Set(), new Set()] ); - const templates = templatesList.templates.filter((template) => { + templates = templates.filter((template) => { if ( filter.runtimes.length > 0 && !template.runtimes.some((n) => filter.runtimes.includes(n.name)) diff --git a/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte b/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte index 6f9c0359c5..a3fc998a2d 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/create-site/templates/+page.svelte @@ -34,7 +34,9 @@ } target.searchParams.delete('page'); offset = 0; - goto(target.toString()); + goto(target.toString(), { + noScroll: true + }); } let searchText = page.url.searchParams.get('search') ?? ''; @@ -52,7 +54,7 @@ url.searchParams.delete('page'); offset = 0; - goto(url.toString(), { keepFocus: true }); + goto(url.toString(), { keepFocus: true, noScroll: true }); }, 250); function applySearch(event: CustomEvent) { @@ -64,7 +66,9 @@ searchText = ''; const target = new URL(page.url); target.search = ''; - goto(target.toString()); + goto(target.toString(), { + noScroll: true + }); } const isChecked = (useCase: string) => {