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) => {