{#if $page.data?.header} - +
+ +
{/if} {#if showFooter} diff --git a/src/lib/stores/preferences.ts b/src/lib/stores/preferences.ts index 4fd1a3e3b..516f63a33 100644 --- a/src/lib/stores/preferences.ts +++ b/src/lib/stores/preferences.ts @@ -31,9 +31,6 @@ type ConsolePreferencesStore = { tables?: { [key: string]: ConsolePreferences['columns']; }; - tableHeaderExpanded?: { - [key: string]: boolean; - }; displayNames?: { [key: string]: TeamPreferences['names']; }; @@ -287,22 +284,6 @@ function createPreferences() { }); }, - isTableHeaderExpanded(tableId: string): boolean { - return preferences.tableHeaderExpanded?.[tableId] ?? true; - }, - - async setTableHeaderExpanded(tableId: string, expanded: boolean) { - await updateAndSync((n) => { - if (!n?.tableHeaderExpanded) { - n ??= {}; - n.tableHeaderExpanded ??= {}; - } - - n.tableHeaderExpanded[tableId] = expanded; - return n; - }); - }, - getKey(key: string, _default: T): T { return (preferences?.miscellaneous?.[key] ?? _default) as T; }, diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte index 5288933c8..e64fdeaa8 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte @@ -75,10 +75,8 @@ */ let isWaterfallFromFaker = false; - const tableId = page.params.table; - onMount(() => { - expandTabs.set(preferences.isTableHeaderExpanded(tableId)); + expandTabs.set(preferences.getKey('tableHeaderExpanded', true)); return realtime .forProject(page.params.region, page.params.project) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte index 6c5d09789..5e474babd 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte @@ -140,7 +140,7 @@ disabled={!(hasColumns && hasValidColumns)} on:click={() => { $expandTabs = !$expandTabs; - preferences.setTableHeaderExpanded($table.$id, $expandTabs); + preferences.setKey('tableHeaderExpanded', $expandTabs); }}> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte index e2775bd8b..411815df4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte @@ -109,7 +109,6 @@ let showEdit = $state(false); let editColumn: EditColumn; - let spreadsheetContainer: SpreadsheetContainer; const columnFormatIcon = { ip: IconLocationMarker, @@ -156,13 +155,6 @@ onDestroy(() => ($showCreateAttributeSheet.show = false)); - $effect(() => { - if (updatedColumnsForSheet) { - /* up-to-date height */ - tick().then(() => spreadsheetContainer?.resizeSheet()); - } - }); - $effect(() => { if (!$showCreateIndexSheet.show && $showCreateIndexSheet.column) { const columnKey = $showCreateIndexSheet.column; @@ -196,7 +188,7 @@
- + { if (nonSheetPages) expandTabs.set(true); else { - expandTabs.set(preferences.isTableHeaderExpanded(tableId)); + expandTabs.set(preferences.getKey('tableHeaderExpanded', true)); } }); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte index 86f820bcd..a572d3f4a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/+page.svelte @@ -26,7 +26,7 @@ IconPlus, IconTrash } from '@appwrite.io/pink-icons-svelte'; - import { type ComponentProps, onDestroy, tick } from 'svelte'; + import { type ComponentProps, onDestroy } from 'svelte'; import { Click, trackEvent } from '$lib/actions/analytics'; import EmptySheet from '../layout/emptySheet.svelte'; import SpreadsheetContainer from '../layout/spreadsheet.svelte'; @@ -46,7 +46,6 @@ let selectedIndexes = $state([]); let createIndex: CreateIndex; - let spreadsheetContainer: SpreadsheetContainer = $state(null); let error = $state(''); let showFailed = $state(false); @@ -83,13 +82,6 @@ ? 0 : emptyCellsLimit - data.table.indexes.length ); - - $effect(() => { - if (data.table.indexes) { - /* up-to-date height */ - tick().then(() => spreadsheetContainer?.resizeSheet()); - } - }); {#if data.table?.columns?.length} {#if data.table.indexes.length} - + { - tick().then(() => { - spreadsheetRootContainer?.resizeSheet(false, true); - }); - if (!spreadsheetContainer) return; if (!headerElement || !headerElement.isConnected) { @@ -145,18 +139,17 @@ const spreadsheetColumns = $derived(mode === 'rows' ? getRowColumns() : getIndexesColumns()); - const fixedHeight = $derived($expandTabs ? 'calc(100% - 89px)' : '100%'); const emptyCells = $derived(($isSmallViewport ? 14 : 17) + (!$expandTabs ? 2 : 0));
- + { @@ -271,23 +264,6 @@ position: fixed; overflow: hidden; - &[data-mode='indexes'] { - position: relative; - - & :global(.spreadsheet-container) { - max-height: 70vh; - overflow-y: hidden; - - @media (max-width: 768px) { - height: 50vh; - } - } - } - - @media (max-width: 768px) { - position: unset; - } - &[data-mode='rows'] { & :global([role='rowheader'] :nth-last-child(2) [role='presentation']) { display: none; @@ -326,7 +302,7 @@ #ffffff 100% ); z-index: 20; - display: none; + display: flex; justify-content: center; transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/layout/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/layout/spreadsheet.svelte index ce993d8af..5f7e9cb30 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/layout/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/layout/spreadsheet.svelte @@ -1,63 +1,98 @@ - resizeSheet(true)} /> -
{@render children()}
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index 7c270641c..48adf27d4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -9,7 +9,7 @@ import { preferences } from '$lib/stores/preferences'; import { sdk } from '$lib/stores/sdk'; import { type Models, Query } from '@appwrite.io/console'; - import { type ComponentType, onDestroy, onMount, tick } from 'svelte'; + import { type ComponentType, onDestroy, onMount } from 'svelte'; import type { PageData } from './$types'; import { isRelationship, isRelationshipToMany, isString } from './rows/store'; import { @@ -657,17 +657,12 @@ makeTableColumns(); } - $: { - /* up-to-date height */ - tick().then(() => spreadsheetContainer?.resizeSheet()); - } - $: totalPages = Math.ceil($rows.total / SPREADSHEET_PAGE_LIMIT) || 1; $: rowSelection = !$spreadsheetLoading && !$paginatedRowsLoading ? true : ('disabled' as const); - + {#key $spreadsheetRenderKey} Date: Tue, 19 Aug 2025 14:26:49 +0530 Subject: [PATCH 171/246] update: add tooltips to actions. --- package.json | 2 +- pnpm-lock.yaml | 10 ++--- .../table-[table]/spreadsheet.svelte | 37 ++++++++++++------- 3 files changed, 30 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index f018150a4..6605057b6 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.vc/-/@appwrite/@appwrite.io/pink-svelte@65f97c8", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@9f28c76", "@faker-js/faker": "^9.9.0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 104d92ecf..68dc478d0 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.vc/-/@appwrite/@appwrite.io/pink-svelte@65f97c8 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@65f97c8(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@9f28c76 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@9f28c76(svelte@5.25.3) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -287,8 +287,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@65f97c8': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@65f97c8} + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@9f28c76': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@9f28c76} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3831,7 +3831,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@65f97c8(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@9f28c76(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]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index 48adf27d4..dee45eca0 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -686,23 +686,34 @@ itemsPerPage={SPREADSHEET_PAGE_LIMIT} loadNextPage={loadPage} loadPreviousPage={loadPage} - goToPage={handleGoToPage}> + goToPage={handleGoToPage} + bottomActionTooltip={{ + text: 'Create row', + placement: 'top-end' + }} + > {#each $tableColumns as column (column.id)} {#if column.isAction} - { - $showCreateAttributeSheet.show = true; - $showCreateAttributeSheet.column = null; - $showCreateAttributeSheet.title = 'Create column'; - $showCreateAttributeSheet.columns = $tableColumns; - $showCreateAttributeSheet.columnsOrder = $columnsOrder; - }}> - - + + { + $showCreateAttributeSheet.show = true; + $showCreateAttributeSheet.column = null; + $showCreateAttributeSheet.title = 'Create column'; + $showCreateAttributeSheet.columns = $tableColumns; + $showCreateAttributeSheet.columnsOrder = $columnsOrder; + }}> + + + + + Create column + + {:else} Date: Tue, 19 Aug 2025 16:18:58 +0530 Subject: [PATCH 172/246] remove: leftovers, bump: clean deps. --- pnpm-lock.yaml | 2 +- .../database-[database]/table-[table]/create/+page.svelte | 0 .../database-[database]/table-[table]/spreadsheet.svelte | 7 ++----- .../function-[function]/deploymentCreatedBy.svelte | 0 4 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/create/+page.svelte delete mode 100644 src/routes/(console)/project-[region]-[project]/functions/function-[function]/deploymentCreatedBy.svelte diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7cf59fafc..84fd8540b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,7 +107,7 @@ importers: version: 2.20.2(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.3 - version: 5.0.3(svelte@5.25.3)(vite@6.2.3(@types/node@22.13.14)(sass@1.86.0)) + version: 5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) '@testing-library/dom': specifier: ^10.4.0 version: 10.4.0 diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/create/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/create/+page.svelte deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index dee45eca0..0cdd45c54 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -690,8 +690,7 @@ bottomActionTooltip={{ text: 'Create row', placement: 'top-end' - }} - > + }}> {#each $tableColumns as column (column.id)} {#if column.isAction} @@ -710,9 +709,7 @@ - - Create column - + Create column {:else} diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/deploymentCreatedBy.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/deploymentCreatedBy.svelte deleted file mode 100644 index e69de29bb..000000000 From 9c8d24542e6535b404d8c7c22623ce7418ce016a Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Wed, 20 Aug 2025 00:06:47 +0530 Subject: [PATCH 173/246] fix: allignment issue in Unauthenticated pages --- src/lib/layout/unauthenticated.svelte | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/lib/layout/unauthenticated.svelte b/src/lib/layout/unauthenticated.svelte index 9d1afcb2b..0d74dfbd9 100644 --- a/src/lib/layout/unauthenticated.svelte +++ b/src/lib/layout/unauthenticated.svelte @@ -167,18 +167,18 @@