From 9a02248df10006ecd8c0abe59bf3672cacfc9554 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Fri, 27 Mar 2026 11:34:29 +0530 Subject: [PATCH] fix: upload inv ux and pagination --- src/lib/components/cardGrid.svelte | 30 +++++++++++-- .../variables/importVariablesModal.svelte | 44 ++++++++++++------- .../settings/updateInstallations.svelte | 17 ++++++- .../uploadVariablesModal.svelte | 40 +++++++++++++---- 4 files changed, 101 insertions(+), 30 deletions(-) diff --git a/src/lib/components/cardGrid.svelte b/src/lib/components/cardGrid.svelte index d378a9c66..c45d112fe 100644 --- a/src/lib/components/cardGrid.svelte +++ b/src/lib/components/cardGrid.svelte @@ -8,8 +8,8 @@ - - +
+ {#if $$slots.default} @@ -17,12 +17,12 @@ {/if} -
+
- +
{#if $$slots.actions && !hideFooter} @@ -34,3 +34,25 @@ {/if} + + diff --git a/src/lib/components/variables/importVariablesModal.svelte b/src/lib/components/variables/importVariablesModal.svelte index db776b05d..9368d4d4f 100644 --- a/src/lib/components/variables/importVariablesModal.svelte +++ b/src/lib/components/variables/importVariablesModal.svelte @@ -6,6 +6,7 @@ import { IconInfo } from '@appwrite.io/pink-icons-svelte'; import { Icon, Layout, Selector, Tooltip, Typography, Upload } from '@appwrite.io/pink-svelte'; import { parse } from '$lib/helpers/envfile'; + import { removeFile } from '$lib/helpers/files'; export let show = false; export let variables: Partial[]; @@ -13,6 +14,15 @@ let files: FileList; let error: string; let secret = false; + $: filesList = files?.length + ? Array.from(files).map((file) => ({ + ...file, + name: file.name, + size: file.size, + extension: file.type, + removable: true + })) + : []; async function handleSubmit() { try { @@ -52,28 +62,32 @@ - - + + Drag and drop files here or click to upload - - - - + + + + Only .env files allowed + - - Only .env files allowed - - + - + Up to 100 variables allowed + {#if files?.length} + (files = removeFile(e.detail, files))} /> + {/if} {#if variables?.length > 0} This action can create and update variables but can not delete them. diff --git a/src/routes/(console)/project-[region]-[project]/settings/updateInstallations.svelte b/src/routes/(console)/project-[region]-[project]/settings/updateInstallations.svelte index 8cb2cb9f8..5d61cf6a4 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/updateInstallations.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/updateInstallations.svelte @@ -84,7 +84,7 @@ {#if total > 0} - +
Add installation - +
+ + diff --git a/src/routes/(console)/project-[region]-[project]/uploadVariablesModal.svelte b/src/routes/(console)/project-[region]-[project]/uploadVariablesModal.svelte index 93ef85bb9..5cf19fe9d 100644 --- a/src/routes/(console)/project-[region]-[project]/uploadVariablesModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/uploadVariablesModal.svelte @@ -15,6 +15,7 @@ Upload } from '@appwrite.io/pink-svelte'; import { parse } from '$lib/helpers/envfile'; + import { removeFile } from '$lib/helpers/files'; export let show = false; export let variableList: Models.VariableList; @@ -33,6 +34,15 @@ let files: FileList; let secret = false; let error: string; + $: filesList = files?.length + ? Array.from(files).map((file) => ({ + ...file, + name: file.name, + size: file.size, + extension: file.type, + removable: true + })) + : []; async function handleSubmit() { try { @@ -87,21 +97,33 @@ - - + + Drag and drop files here or click to upload - - - - + + + + Only .env files allowed + - Only .env files allowed - + - Up to 100 variables allowed + + Up to 100 variables allowed + + {#if files?.length} + (files = removeFile(e.detail, files))} /> + {/if} {#if variableList.total > 0}