From e4b0e60d3e20a882977e337e5e41780334e3d210 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Wed, 18 Jun 2025 16:25:14 +0530 Subject: [PATCH 001/118] added session invalidation card in the auth>security --- src/lib/actions/analytics.ts | 1 + .../auth/security/+page.svelte | 2 + .../security/updateSessionInvalidation.svelte | 55 +++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index d9c86e0d95..3b3fe2f902 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -265,6 +265,7 @@ export enum Submit { AuthSessionAlertsUpdate = 'submit_auth_session_alerts_update', AuthMembershipPrivacyUpdate = 'submit_auth_membership_privacy_update', AuthMockNumbersUpdate = 'submit_auth_mock_numbers_update', + AuthInvalidateSesssion = 'submit_auth_invalidate_session', SessionsLengthUpdate = 'submit_sessions_length_update', SessionsLimitUpdate = 'submit_sessions_limit_update', SessionDelete = 'submit_session_delete', diff --git a/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte index 9d4575b66b..23ff36489e 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte @@ -9,6 +9,7 @@ import UpdateSessionsLimit from './updateSessionsLimit.svelte'; import UpdateMembershipPrivacy from './updateMembershipPrivacy.svelte'; import UpdateUsersLimit from './updateUsersLimit.svelte'; + import UpdateSessionInvalidation from './updateSessionInvalidation.svelte'; @@ -19,6 +20,7 @@ + diff --git a/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte b/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte new file mode 100644 index 0000000000..c179d5f81a --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte @@ -0,0 +1,55 @@ + + +
+ + Invalidate sessions + + + + Enabling this option will clear all existing sessions when the user changes their password. + + + + + + + +
From 26baefef063065618ab0ecb8d0f15c04b7fa0eec Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 19 Jun 2025 14:37:49 +0530 Subject: [PATCH 002/118] added session invalidation --- package.json | 2 +- pnpm-lock.yaml | 11 ++++++----- .../auth/security/+page.svelte | 2 +- .../auth/security/updateSessionInvalidation.svelte | 9 +++++---- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index f12341aefc..cd85da95cb 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "^1.9.0", + "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2181", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "^2.0.0-RC.1", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3664a807f..8c6b954201 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^1.1.24 version: 1.1.24(svelte@5.25.3)(zod@3.24.3) '@appwrite.io/console': - specifier: ^1.9.0 - version: 1.9.0 + specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2181 + version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2181 '@appwrite.io/pink-icons': specifier: 0.25.0 version: 0.25.0 @@ -257,8 +257,9 @@ packages: '@analytics/type-utils@0.6.2': resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@appwrite.io/console@1.9.0': - resolution: {integrity: sha512-g8+zfdBF8mz7tRUER4CGVe5FHWQVLp8TlY/UOGCZ2TgUF1qnpNu/DhiQgph8uF+QZ9jDKCLAAZlP5//9t7ckWA==} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2181': + resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2181} + version: 1.9.0 '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@ee1b7788cd3f877c9aa1b6487976bd63a6196870': resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@ee1b7788cd3f877c9aa1b6487976bd63a6196870} @@ -3635,7 +3636,7 @@ snapshots: '@analytics/type-utils@0.6.2': {} - '@appwrite.io/console@1.9.0': {} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2181': {} '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@ee1b7788cd3f877c9aa1b6487976bd63a6196870(svelte@5.25.3)': dependencies: diff --git a/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte index 23ff36489e..48718cba38 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/security/+page.svelte @@ -20,7 +20,7 @@ - + diff --git a/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte b/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte index c179d5f81a..318706bc2a 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/security/updateSessionInvalidation.svelte @@ -13,7 +13,7 @@ async function updateSessionInvalidation() { try { - await sdk.forConsole.projects.updateAuthPasswordDictionary( + await sdk.forConsole.projects.updateSessionInvalidation( $project.$id, sessionInvalidation ); @@ -39,10 +39,11 @@ + id="invalidateSessions" + label="Invalidate sessions" /> - Enabling this option will clear all existing sessions when the user changes their password. + Enabling this option will clear all existing sessions when the user changes their + password. From 41428aceaa5e624c3b9073c6dc8a6d77e26229ba Mon Sep 17 00:00:00 2001 From: Darshan Date: Thu, 10 Jul 2025 16:40:10 +0530 Subject: [PATCH 003/118] bump: pink. --- package.json | 2 +- pnpm-lock.yaml | 34 +++++++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 20a81f48a1..ad1efae3c2 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://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@d521606", + "@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b", "@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 9acaa26d28..7c904f8465 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://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@d521606 - version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@d521606(svelte@5.25.3) + specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b + version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b(svelte@5.25.3) '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 @@ -261,8 +261,8 @@ packages: resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@8836b0c} version: 1.9.0 - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@d521606fc63e0800b996f0fbb1a8d1f6907480ed': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@d521606fc63e0800b996f0fbb1a8d1f6907480ed} + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -282,8 +282,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@d521606': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@d521606} + '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -1266,6 +1266,14 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@tanstack/svelte-virtual@3.13.12': + resolution: {integrity: sha512-SsOinCktvpMFbdSW61X6jeUNaJvD1tmt30AFVSLe1FQxGxjdPkZo0gAsoVPqM9FFZqidvvXQ4gpadDaTz/yGxA==} + peerDependencies: + svelte: ^3.48.0 || ^4.0.0 || ^5.0.0 + + '@tanstack/virtual-core@3.13.12': + resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==} + '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -3638,7 +3646,7 @@ snapshots: '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@8836b0c': {} - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@d521606fc63e0800b996f0fbb1a8d1f6907480ed(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf(svelte@5.25.3)': dependencies: svelte: 5.25.3 @@ -3655,12 +3663,13 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@d521606(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b(svelte@5.25.3)': dependencies: - '@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@d521606fc63e0800b996f0fbb1a8d1f6907480ed(svelte@5.25.3) + '@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf(svelte@5.25.3) '@floating-ui/dom': 1.6.13 '@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.6(svelte@5.25.3))(svelte@5.25.3) '@melt-ui/svelte': 0.86.6(svelte@5.25.3) + '@tanstack/svelte-virtual': 3.13.12(svelte@5.25.3) ansicolor: 2.0.3 d3: 7.9.0 fuse.js: 7.1.0 @@ -4711,6 +4720,13 @@ snapshots: dependencies: tslib: 2.8.1 + '@tanstack/svelte-virtual@3.13.12(svelte@5.25.3)': + dependencies: + '@tanstack/virtual-core': 3.13.12 + svelte: 5.25.3 + + '@tanstack/virtual-core@3.13.12': {} + '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.26.2 From e64b51a0a831fc92e6c0dbf10d3a535140500f3a Mon Sep 17 00:00:00 2001 From: Darshan Date: Fri, 11 Jul 2025 19:27:42 +0530 Subject: [PATCH 004/118] bump: spreadsheet logic. --- package.json | 4 +- pnpm-lock.yaml | 18 +- src/lib/components/filters/filters.svelte | 4 +- src/lib/helpers/types.ts | 25 +- src/lib/layout/container.svelte | 11 +- src/lib/layout/footer.svelte | 10 +- src/lib/layout/shell.svelte | 9 + .../project-[region]-[project]/+layout.svelte | 2 +- .../collection-[collection]/+page.svelte | 48 +- .../spreadsheet.svelte | 456 ++++++++++++++++++ .../collection-[collection]/store.ts | 4 +- .../collection-[collection]/table.svelte | 365 -------------- 12 files changed, 545 insertions(+), 411 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/spreadsheet.svelte delete mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/table.svelte diff --git a/package.json b/package.json index ad1efae3c2..156fda3325 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://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b", + "@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@373d6a6", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", "@stripe/stripe-js": "^3.5.0", @@ -94,5 +94,5 @@ "svelte-preprocess" ] }, - "packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6" + "packageManager": "pnpm@10.13.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c904f8465..6f1a295c14 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://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b - version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b(svelte@5.25.3) + specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@373d6a6 + version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@373d6a6(svelte@5.25.3) '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 @@ -261,8 +261,8 @@ packages: resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@8836b0c} version: 1.9.0 - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf} + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@373d6a659d4abe1318f9f4f415a560b969b27639': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@373d6a659d4abe1318f9f4f415a560b969b27639} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -282,8 +282,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b} + '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@373d6a6': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@373d6a6} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3646,7 +3646,7 @@ snapshots: '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@8836b0c': {} - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@373d6a659d4abe1318f9f4f415a560b969b27639(svelte@5.25.3)': dependencies: svelte: 5.25.3 @@ -3663,9 +3663,9 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@74cf26b(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@373d6a6(svelte@5.25.3)': dependencies: - '@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@74cf26b287cc937f03e15bf1cda855e867acecaf(svelte@5.25.3) + '@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@373d6a659d4abe1318f9f4f415a560b969b27639(svelte@5.25.3) '@floating-ui/dom': 1.6.13 '@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.6(svelte@5.25.3))(svelte@5.25.3) '@melt-ui/svelte': 0.86.6(svelte@5.25.3) diff --git a/src/lib/components/filters/filters.svelte b/src/lib/components/filters/filters.svelte index f8c9a3e6ed..32b7834835 100644 --- a/src/lib/components/filters/filters.svelte +++ b/src/lib/components/filters/filters.svelte @@ -2,7 +2,7 @@ import { beforeNavigate } from '$app/navigation'; import { Modal } from '$lib/components'; import { Button } from '$lib/elements/forms'; - import type { Column } from '$lib/helpers/types'; + import type { PinkSheetColumn } from '$lib/helpers/types'; import type { Writable } from 'svelte/store'; import Content from './content.svelte'; import { @@ -19,7 +19,7 @@ import { Click, Submit, trackEvent } from '$lib/actions/analytics'; export let query = '[]'; - export let columns: Writable; + export let columns: Writable; export let disabled = false; export let fullWidthMobile = false; export let singleCondition = false; diff --git a/src/lib/helpers/types.ts b/src/lib/helpers/types.ts index 961c992d06..3bae857e0b 100644 --- a/src/lib/helpers/types.ts +++ b/src/lib/helpers/types.ts @@ -14,6 +14,25 @@ export type PinkColumn = { hide?: boolean; }; +export type PinkSheetColumn = { + id: string; + width?: + | { + min: number; + max: number; + } + | { + min: number; + } + | number; + hide?: boolean; + fixed?: boolean; + resizable?: boolean; + draggable?: boolean; + resizedWidth?: number; + isAction?: boolean; +}; + export type WritableValue = T extends Writable ? U : never; export function isHTMLElement(el: unknown): el is HTMLElement { @@ -35,10 +54,10 @@ const columnTypes = [ 'relationship', 'enum' ] as const; -export type ColumnType = (typeof columnTypes)[number]; -export type Column = PinkColumn & { +export type SheetColumnType = (typeof columnTypes)[number]; +export type SheetColumn = PinkSheetColumn & { title: string; - type: ColumnType; + type: SheetColumnType; filter?: boolean; array?: boolean; format?: string; diff --git a/src/lib/layout/container.svelte b/src/lib/layout/container.svelte index abe25a4a98..7c0750c8c2 100644 --- a/src/lib/layout/container.svelte +++ b/src/lib/layout/container.svelte @@ -1,6 +1,8 @@ -
-
+
+
@@ -23,6 +25,11 @@ :global(.console-container) { margin-block: var(--base-32); + &.expanded { + padding-inline-end: 0 !important; + margin-block: var(--base-8) !important; + } + @media (min-width: 360px) { margin-inline: 1rem; } diff --git a/src/lib/layout/footer.svelte b/src/lib/layout/footer.svelte index c6552477fa..1104f7904c 100644 --- a/src/lib/layout/footer.svelte +++ b/src/lib/layout/footer.svelte @@ -12,11 +12,15 @@ Badge } from '@appwrite.io/pink-svelte'; import { isSmallViewport, isTabletViewport } from '$lib/stores/viewport'; + import { page } from '$app/state'; const currentYear = new Date().getFullYear(); + + // for spreadsheet ui + const hideFooter = $derived(page.route.id?.includes('collection-[collection]')); -