From 3803c512c6ec54d1f13bc9c0bdb5a587e6657ef9 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Mon, 20 Jan 2025 02:31:22 +0100 Subject: [PATCH 1/2] fix: partly cleanup --- .../components/billing/paymentModal.svelte | 7 +- src/lib/components/billing/usageRates.svelte | 2 +- .../billing/validateCreditModal.svelte | 8 +- src/lib/components/card.svelte | 1 - src/lib/components/cardGrid.svelte | 1 - src/lib/components/copy.svelte | 1 - src/lib/components/empty.svelte | 1 - src/lib/components/labelCard.svelte | 14 +- .../components/mfaChallengeFormList.svelte | 76 +++++----- src/lib/components/modal.svelte | 4 - src/lib/components/permissions/custom.svelte | 20 ++- src/lib/components/permissions/label.svelte | 10 +- src/lib/components/searchQuery.svelte | 24 ++-- src/lib/components/trim.svelte | 11 -- src/lib/components/viewSelector.svelte | 63 ++++----- src/lib/elements/forms/button.svelte | 4 +- src/lib/elements/forms/formItem.svelte | 15 -- src/lib/elements/forms/formItemPart.svelte | 8 -- src/lib/elements/forms/formList.svelte | 5 - src/lib/elements/forms/index.ts | 2 - src/lib/elements/forms/inputCheckbox.svelte | 3 - src/lib/elements/forms/inputChoice.svelte | 3 - src/lib/elements/forms/inputCron.svelte | 3 +- src/lib/elements/forms/inputDate.svelte | 76 +++++----- src/lib/elements/forms/inputDateTime.svelte | 64 ++++----- src/lib/elements/forms/inputDigits.svelte | 35 +++-- src/lib/elements/forms/inputDomain.svelte | 8 +- src/lib/elements/forms/inputEmail.svelte | 10 +- src/lib/elements/forms/inputNumber.svelte | 6 +- src/lib/elements/forms/inputOTP.svelte | 111 +++++++-------- src/lib/elements/forms/inputPassword.svelte | 7 - src/lib/elements/forms/inputPhone.svelte | 9 +- src/lib/elements/forms/inputRadio.svelte | 23 +-- src/lib/elements/forms/inputSearch.svelte | 2 - src/lib/elements/forms/inputSecret.svelte | 3 +- src/lib/elements/forms/inputSelect.svelte | 13 -- src/lib/elements/forms/inputSwitch.svelte | 23 +-- src/lib/elements/forms/inputTags.svelte | 133 +++++++++--------- src/lib/elements/forms/inputText.svelte | 17 --- src/lib/elements/forms/inputTextarea.svelte | 8 -- src/lib/elements/forms/inputTime.svelte | 59 ++++---- src/lib/elements/forms/inputURL.svelte | 3 - src/lib/layout/activity.svelte | 104 ++++++-------- src/lib/layout/containerHeader.svelte | 1 - src/lib/layout/logs.svelte | 3 +- src/lib/layout/navigation.svelte | 2 - src/lib/layout/wizardExitModal.svelte | 9 +- src/lib/pages/domains/delete.svelte | 8 +- src/lib/pages/domains/index.svelte | 2 +- src/routes/(console)/account/delete.svelte | 9 +- src/routes/(console)/account/deleteMfa.svelte | 5 +- .../account/mfaRegenerateCodes.svelte | 9 +- .../account/payments/addressModal.svelte | 26 ++-- .../payments/deleteAddressModal.svelte | 8 +- .../payments/deletePaymentModal.svelte | 7 +- .../account/payments/editAddressModal.svelte | 31 ++-- .../account/payments/editPaymentModal.svelte | 44 +++--- .../billing/addCreditModal.svelte | 2 +- .../billing/deleteOrgPayment.svelte | 10 +- .../billing/removeAddress.svelte | 9 +- .../billing/replaceAddress.svelte | 40 ++---- .../billing/replaceCard.svelte | 8 +- .../billing/retryPaymentModal.svelte | 2 - .../change-plan/+page.svelte | 5 +- .../deleteMember.svelte | 7 +- .../organization-[organization]/header.svelte | 1 - .../settings/BAAModal.svelte | 8 +- .../settings/Soc2Modal.svelte | 8 +- .../settings/deleteOrganizationModal.svelte | 9 +- .../project-[project]/auth/+page.svelte | 3 +- .../auth/security/updateMockNumbers.svelte | 123 ++++++++-------- .../project-[project]/auth/teams/+page.svelte | 60 ++++---- .../teams/team-[team]/deleteMembership.svelte | 8 +- .../auth/teams/team-[team]/deleteTeam.svelte | 8 +- .../auth/teams/team-[team]/updatePrefs.svelte | 60 ++++---- .../auth/templates/resetEmail.svelte | 9 +- .../auth/templates/resetSms.svelte | 9 +- .../auth/user-[user]/deleteAllSessions.svelte | 8 +- .../auth/user-[user]/deleteMembership.svelte | 8 +- .../auth/user-[user]/deleteMfa.svelte | 5 +- .../auth/user-[user]/deleteSession.svelte | 8 +- .../auth/user-[user]/deleteUser.svelte | 9 +- .../auth/user-[user]/identities/table.svelte | 9 +- .../auth/user-[user]/targets/table.svelte | 9 +- .../auth/user-[user]/updatePrefs.svelte | 60 ++++---- .../project-[project]/databases/+page.svelte | 1 - .../project-[project]/databases/+page.ts | 5 + .../database-[database]/backups/+page.svelte | 1 - .../database-[database]/backups/+page.ts | 37 ++--- .../database-[database]/backups/policy.svelte | 12 +- .../backups/restoreModal.svelte | 31 ++-- .../database-[database]/backups/table.svelte | 11 +- .../attributes/deleteAttribute.svelte | 8 +- .../document-[document]/delete.svelte | 8 +- .../failedModal.svelte | 2 +- .../indexes/deleteIndex.svelte | 8 +- .../relationshipsModal.svelte | 2 +- .../settings/deleteCollection.svelte | 8 +- .../collection-[collection]/table.svelte | 9 +- .../database-[database]/delete.svelte | 10 +- .../database-[database]/table.svelte | 3 - .../project-[project]/databases/table.svelte | 1 - .../project-[project]/functions/+page.svelte | 1 - .../function-[function]/activate.svelte | 6 +- .../function-[function]/cancel.svelte | 8 +- .../function-[function]/createCli.svelte | 2 +- .../function-[function]/createGit.svelte | 2 +- .../function-[function]/createManual.svelte | 13 +- .../function-[function]/delete.svelte | 8 +- .../executions/delete.svelte | 8 +- .../executions/execute-function/+page.svelte | 126 ++++++++--------- .../function-[function]/redeployModal.svelte | 8 +- .../settings/deleteModal.svelte | 8 +- .../settings/disconnectRepo.svelte | 9 +- .../settings/gitConfigurationModal.svelte | 9 +- .../project-[project]/messaging/+page.svelte | 10 +- .../messaging/failedModal.svelte | 2 +- .../message-[message]/cancelModal.svelte | 9 +- .../message-[message]/deleteModal.svelte | 8 +- .../message-[message]/pushMessage.svelte | 86 +++++------ .../message-[message]/scheduleModal.svelte | 2 +- .../message-[message]/sendModal.svelte | 2 +- .../provider-[provider]/deleteProvider.svelte | 3 +- .../providers/settingsFormList.svelte | 14 +- .../messaging/providers/table.svelte | 1 - .../messaging/topics/table.svelte | 1 - .../topics/topic-[topic]/deleteTopic.svelte | 3 +- .../topics/topic-[topic]/table.svelte | 1 - .../messaging/topicsModal.svelte | 2 +- .../messaging/userTargetsModal.svelte | 2 +- .../messaging/wizard/pushFormList.svelte | 87 +++++------- .../messaging/wizard/step3.svelte | 2 +- .../overview/keys/[key]/delete.svelte | 8 +- .../platforms/[platform]/delete.svelte | 8 +- .../platforms/wizard/apple/step1.svelte | 60 ++++---- .../promoteVariableModal.svelte | 3 +- .../rawVariableEditor.svelte | 10 +- .../settings/GitDisconnectModal.svelte | 9 +- .../settings/GitInstallationModal.svelte | 2 +- .../settings/deleteProject.svelte | 10 +- .../settings/migrations/details.svelte | 2 +- .../settings/migrations/exportModal.svelte | 2 +- .../settings/smtp/+page.svelte | 1 - .../settings/transferProject.svelte | 2 +- .../settings/usage/[[invoice]]/+page.svelte | 10 +- .../webhooks/[webhook]/dangerZone.svelte | 2 +- .../settings/webhooks/[webhook]/delete.svelte | 8 +- .../webhooks/[webhook]/updateEvents.svelte | 2 +- .../webhooks/[webhook]/updateSecurity.svelte | 1 - .../settings/webhooks/failedModal.svelte | 2 +- .../settings/webhooks/wizard/step2.svelte | 2 +- .../sites/(components)/selectRootModal.svelte | 1 - .../(components)/addCollaboratorModal.svelte | 7 +- .../importSiteVariablesModal.svelte | 2 +- .../templates/template-[template]/+page.ts | 2 +- .../connectBehaviour.svelte | 7 +- .../deployments/cancelDeploymentModal.svelte | 8 +- .../deployments/deleteDeploymentModal.svelte | 8 +- .../deployments/redeployModal.svelte | 2 +- .../domains/deleteDomainModal.svelte | 8 +- .../domains/retryDomainModal.svelte | 1 - .../sites/site-[site]/logs/delete.svelte | 8 +- .../site-[site]/settings/dangerZone.svelte | 2 +- .../site-[site]/settings/deleteModal.svelte | 7 +- .../settings/disconnectRepo.svelte | 9 +- .../settings/updateRuntimeSettings.svelte | 3 +- .../storage/bucket-[bucket]/+page.svelte | 2 +- .../bucket-[bucket]/create-file/step1.svelte | 2 +- .../bucket-[bucket]/deleteBucket.svelte | 8 +- .../storage/bucket-[bucket]/deleteFile.svelte | 8 +- .../bucket-[bucket]/file-[file]/+page.svelte | 2 +- .../file-[file]/deleteFile.svelte | 8 +- .../bucket-[bucket]/settings/+page.svelte | 42 +++--- .../storage/bucket-[bucket]/settings/+page.ts | 10 -- .../settings/updateMaxFileSize.svelte | 30 ++-- .../project-[project]/storage/create.svelte | 2 +- .../project-[project]/updateVariables.svelte | 6 - .../uploadVariablesModal.svelte | 2 +- .../(public)/(guest)/login/+page.svelte | 25 +--- .../(public)/(guest)/register/+page.svelte | 16 +-- .../register/invite/[slug]/+page.svelte | 6 +- src/routes/(public)/hackathon/+page.svelte | 1 - src/routes/(public)/recover/+page.svelte | 19 +-- 183 files changed, 915 insertions(+), 1762 deletions(-) delete mode 100644 src/lib/elements/forms/formItem.svelte delete mode 100644 src/lib/elements/forms/formItemPart.svelte delete mode 100644 src/routes/(console)/project-[project]/storage/bucket-[bucket]/settings/+page.ts diff --git a/src/lib/components/billing/paymentModal.svelte b/src/lib/components/billing/paymentModal.svelte index 16388b948..4d98f6e45 100644 --- a/src/lib/components/billing/paymentModal.svelte +++ b/src/lib/components/billing/paymentModal.svelte @@ -68,12 +68,7 @@ } - + - + {#if isFree} Usage on the {$plansInfo?.get(BillingPlan.FREE).name} plan is limited for the following resources. Next billing period: {toLocaleDate(nextDate)}. diff --git a/src/lib/components/billing/validateCreditModal.svelte b/src/lib/components/billing/validateCreditModal.svelte index 961e04144..71775a383 100644 --- a/src/lib/components/billing/validateCreditModal.svelte +++ b/src/lib/components/billing/validateCreditModal.svelte @@ -37,13 +37,7 @@ } - + Credits will be applied automatically to your next invoice. diff --git a/src/lib/components/card.svelte b/src/lib/components/card.svelte index dbbc17085..e92df5316 100644 --- a/src/lib/components/card.svelte +++ b/src/lib/components/card.svelte @@ -26,7 +26,6 @@ export let isTile = false; export let isDashed = false; export let isButton = false; - export let danger = false; export let href: string = null; let classes = ''; export { classes as class }; diff --git a/src/lib/components/cardGrid.svelte b/src/lib/components/cardGrid.svelte index 28f70a2ca..f12b7db0c 100644 --- a/src/lib/components/cardGrid.svelte +++ b/src/lib/components/cardGrid.svelte @@ -1,7 +1,6 @@ diff --git a/src/lib/components/copy.svelte b/src/lib/components/copy.svelte index 48c572063..280a95df6 100644 --- a/src/lib/components/copy.svelte +++ b/src/lib/components/copy.svelte @@ -1,6 +1,5 @@ - -
- - - {#if search} - (search = '')} /> - {/if} - - -
- -
+
+ + + {#if search} + (search = '')} /> + {/if} + + +
diff --git a/src/lib/components/trim.svelte b/src/lib/components/trim.svelte index 3f859b7b4..f17a409f1 100644 --- a/src/lib/components/trim.svelte +++ b/src/lib/components/trim.svelte @@ -1,21 +1,10 @@ - - diff --git a/src/lib/components/viewSelector.svelte b/src/lib/components/viewSelector.svelte index 4deaf455f..2e2e0a290 100644 --- a/src/lib/components/viewSelector.svelte +++ b/src/lib/components/viewSelector.svelte @@ -73,40 +73,37 @@ }, 0); -
- {#if !hideColumns && view === View.Table} - {#if $columns?.length} - - - - {#each $columns as column} - - {/each} - - - {/if} +{#if !hideColumns && view === View.Table} + {#if $columns?.length} + + + + {#each $columns as column} + + {/each} + + {/if} -
+{/if} {#if !hideView}
diff --git a/src/lib/elements/forms/button.svelte b/src/lib/elements/forms/button.svelte index f84e44d94..25e5e342d 100644 --- a/src/lib/elements/forms/button.svelte +++ b/src/lib/elements/forms/button.svelte @@ -6,14 +6,12 @@ import { Button } from '@appwrite.io/pink-svelte'; import type { ComponentProps } from 'svelte'; - type Props = ComponentProps; + type Props = ComponentProps; export let submit = false; export let secondary = false; export let text = false; - export let danger = false; export let icon = false; - export let link = false; export let size: Props['size'] = 's'; export let disabled = false; export let external = false; diff --git a/src/lib/elements/forms/formItem.svelte b/src/lib/elements/forms/formItem.svelte deleted file mode 100644 index e6dd8b731..000000000 --- a/src/lib/elements/forms/formItem.svelte +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/src/lib/elements/forms/formItemPart.svelte b/src/lib/elements/forms/formItemPart.svelte deleted file mode 100644 index f43b94d4a..000000000 --- a/src/lib/elements/forms/formItemPart.svelte +++ /dev/null @@ -1,8 +0,0 @@ - - -
- -
diff --git a/src/lib/elements/forms/formList.svelte b/src/lib/elements/forms/formList.svelte index 04ca9db58..d45423ef7 100644 --- a/src/lib/elements/forms/formList.svelte +++ b/src/lib/elements/forms/formList.svelte @@ -1,10 +1,5 @@ diff --git a/src/lib/elements/forms/index.ts b/src/lib/elements/forms/index.ts index a3e0393bb..1bd7f80e1 100644 --- a/src/lib/elements/forms/index.ts +++ b/src/lib/elements/forms/index.ts @@ -1,6 +1,4 @@ export { default as Form } from './form.svelte'; -export { default as FormItem } from './formItem.svelte'; -export { default as FormItemPart } from './formItemPart.svelte'; export { default as FormList } from './formList.svelte'; export { default as Button } from './button.svelte'; export { default as InputDomain } from './inputDomain.svelte'; diff --git a/src/lib/elements/forms/inputCheckbox.svelte b/src/lib/elements/forms/inputCheckbox.svelte index 3f1604d76..844f18c25 100644 --- a/src/lib/elements/forms/inputCheckbox.svelte +++ b/src/lib/elements/forms/inputCheckbox.svelte @@ -1,7 +1,6 @@ - - + -
- - {#if isNullable} -
    -
  • - -
  • -
- {/if} -
- {#if error} - {error} +
+ + {#if isNullable} +
    +
  • + +
  • +
{/if} - +
+{#if error} + {error} +{/if} diff --git a/src/lib/elements/forms/inputDateTime.svelte b/src/lib/elements/forms/inputDateTime.svelte index b63bd628f..fd1c1bee5 100644 --- a/src/lib/elements/forms/inputDateTime.svelte +++ b/src/lib/elements/forms/inputDateTime.svelte @@ -1,6 +1,6 @@ - - + -
- - {#if isNullable} -
    -
  • - -
  • -
- {/if} -
- {#if error} - {error} +
+ + {#if isNullable} +
    +
  • + +
  • +
{/if} - +
+{#if error} + {error} +{/if} diff --git a/src/lib/elements/forms/inputDigits.svelte b/src/lib/elements/forms/inputDigits.svelte index 07d7f755e..6ec6e1ad2 100644 --- a/src/lib/elements/forms/inputDigits.svelte +++ b/src/lib/elements/forms/inputDigits.svelte @@ -1,6 +1,5 @@ - -
    - {#each Array.from({ length }) as _} -
  1. - -
  2. - {/each} -
-
+
    + {#each Array.from({ length }) as _} +
  1. + +
  2. + {/each} +
diff --git a/src/routes/(console)/project-[project]/uploadVariablesModal.svelte b/src/routes/(console)/project-[project]/uploadVariablesModal.svelte index 74b6e3f4e..10a324399 100644 --- a/src/routes/(console)/project-[project]/uploadVariablesModal.svelte +++ b/src/routes/(console)/project-[project]/uploadVariablesModal.svelte @@ -67,7 +67,7 @@ const title = `Import new ${isGlobal ? 'global' : 'environment'} variables`; - +

{title} from diff --git a/src/routes/(public)/(guest)/login/+page.svelte b/src/routes/(public)/(guest)/login/+page.svelte index 809fcc66c..7986a7023 100644 --- a/src/routes/(public)/(guest)/login/+page.svelte +++ b/src/routes/(public)/(guest)/login/+page.svelte @@ -1,14 +1,7 @@ diff --git a/src/routes/(public)/recover/+page.svelte b/src/routes/(public)/recover/+page.svelte index 95c294ad1..9b9df13dc 100644 --- a/src/routes/(public)/recover/+page.svelte +++ b/src/routes/(public)/recover/+page.svelte @@ -1,13 +1,6 @@ -

+
{#if search} diff --git a/src/lib/layout/activity.svelte b/src/lib/layout/activity.svelte index 4391abdd6..4485aee13 100644 --- a/src/lib/layout/activity.svelte +++ b/src/lib/layout/activity.svelte @@ -7,13 +7,9 @@ Trim } from '$lib/components'; import { Container, ContainerHeader } from '$lib/layout'; - import { hoursToDays, toLocaleDateTime } from '$lib/helpers/date'; + import { toLocaleDateTime } from '$lib/helpers/date'; import type { Models } from '@appwrite.io/console'; - import { tierToPlan, type PlanServices } from '$lib/stores/billing'; - import { isCloud } from '$lib/system'; - import { organization } from '$lib/stores/organization'; - import { Button } from '$lib/elements/forms'; - import { BillingPlan } from '$lib/constants'; + import { type PlanServices } from '$lib/stores/billing'; import { Layout, Table } from '@appwrite.io/pink-svelte'; export let logs: Models.LogList; diff --git a/src/lib/pages/domains/index.svelte b/src/lib/pages/domains/index.svelte index 838c45154..ed653564b 100644 --- a/src/lib/pages/domains/index.svelte +++ b/src/lib/pages/domains/index.svelte @@ -21,6 +21,7 @@ import Retry from './wizard/retry.svelte'; import { Pill } from '$lib/elements'; import { canWriteRules } from '$lib/stores/roles'; + import { Layout, Table, Link } from '@appwrite.io/pink-svelte'; export let rules: Models.ProxyRuleList; export let type: ResourceType; @@ -63,127 +64,120 @@ {/if}
{#if rules.total} - - - Name - Verification Status - Certificate Status + + + Name + Verification Status + Certificate Status {#if $canWriteRules} - + {/if} - - - {#each rules.rules as domain, i} - - - - - {domain.domain} - - - - - {#if domain.status === 'created'} -
- - - -
- {:else} + + {#each rules.rules as domain, index} + + + + + {domain.domain} + + + + + {#if domain.status === 'created'} + + + + + + {:else} + + + {/if} + + + {#if domain.status === 'unverified'} + + + + + + {:else if domain.status === 'verified'} + - {/if} -
- - {#if domain.status === 'unverified'} -
- - - -
- {:else if domain.status === 'verified'} -
- - - {#if domain.renewAt} - - Auto-renewal: {toLocaleDate(domain.renewAt)} - - {/if} -
- {:else} - - - {/if} -
- {#if $canWriteRules} - - - - - {#if domain.status !== 'verified'} - openRetry(domain, i)}> - {domain.status === 'unverified' - ? 'Retry generation' - : 'Retry verification'} - - {/if} - { - selectedDomain = domain; - showDelete = true; - showDomainsDropdown[i] = false; - }}> - Delete - - - - + {#if domain.renewAt} + + Auto-renewal: {toLocaleDate(domain.renewAt)} + + {/if} + + {:else} + + {/if} -
- {/each} -
-
+ + {#if $canWriteRules} + + + + + {#if domain.status !== 'verified'} + openRetry(domain, index)}> + {domain.status === 'unverified' + ? 'Retry generation' + : 'Retry verification'} + + {/if} + { + selectedDomain = domain; + showDelete = true; + showDomainsDropdown[index] = false; + }}> + Delete + + + + + {/if} + + {/each} + {:else} newMemberModal.set(true)} showAlert={false} /> - - - - Name - Email -
- - Role - -   - -
- -
-
-
-
-
- - 2FA - {#if $isOwner} - - {/if} -
- - {#each data.organizationMembers.memberships as member, index} - - -
- - - {member.userName ? member.userName : 'n/a'} - - {#if member.invited && !member.joined} - Pending - {/if} + + + Name + Email + Roles + +   + +
+
- - {member.userEmail} - {member.roles - .map((role) => getRoleLabel(role)) - .join(', ')} - - - {#if member.mfa} - - - {#if $isOwner} - - - + + { + selectedMember = member; + showEdit = true; + showDropdown[index] = false; }}> - + {#if member.invited && !member.joined} { - selectedMember = member; - showEdit = true; + resend(member); showDropdown[index] = false; }}> - Edit role + Resend - {#if member.invited && !member.joined} - { - resend(member); - showDropdown[index] = false; - }}> - Resend - - {/if} - { - selectedMember = member; - showDelete = true; - showDropdown[index] = false; - }}> - Remove - - - - - {/if} - - {/each} - - + {/if} + { + selectedMember = member; + showDelete = true; + showDropdown[index] = false; + }}> + Remove + +
+ + + {/if} + + {/each} +
- - - {#if $canWriteUsers} - -
- -
- Upgrade to add more users -
- {/if} -
-
+ + + + + + + + {#if data.users.total} diff --git a/src/routes/(console)/project-[project]/auth/teams/+page.svelte b/src/routes/(console)/project-[project]/auth/teams/+page.svelte index ba3bcadb6..fb9044ee6 100644 --- a/src/routes/(console)/project-[project]/auth/teams/+page.svelte +++ b/src/routes/(console)/project-[project]/auth/teams/+page.svelte @@ -34,28 +34,17 @@ - - - {#if $canWriteTeams} - -
- -
- Upgrade to add more teams -
- {/if} -
-
+ + + + + + + + {#if data.teams.total} diff --git a/src/routes/(console)/project-[project]/auth/user-[user]/memberships/+page.svelte b/src/routes/(console)/project-[project]/auth/user-[user]/memberships/+page.svelte index f7d708717..c7004bab5 100644 --- a/src/routes/(console)/project-[project]/auth/user-[user]/memberships/+page.svelte +++ b/src/routes/(console)/project-[project]/auth/user-[user]/memberships/+page.svelte @@ -2,15 +2,6 @@ import { page } from '$app/stores'; import { base } from '$app/paths'; import { AvatarInitials, EmptySearch } from '$lib/components'; - import { - Table, - TableHeader, - TableBody, - TableRowLink, - TableCellHead, - TableCellText, - TableCell - } from '$lib/elements/table'; import { Button } from '$lib/elements/forms'; import { Container } from '$lib/layout'; import DeleteMembership from '../deleteMembership.svelte'; @@ -18,6 +9,7 @@ import type { PageData } from './$types'; import { trackEvent } from '$lib/actions/analytics'; import { toLocaleDateTime } from '$lib/helpers/date'; + import { Table, Layout } from '@appwrite.io/pink-svelte'; export let data: PageData; @@ -29,43 +21,43 @@ {#if data.memberships.total} - - - Name - Roles - Joined - - - - {#each data.memberships.memberships as membership} - - -
- - {membership.teamName ? membership.teamName : 'n/a'} -
-
- {membership.roles} - - {toLocaleDateTime(membership.joined)} - - - - -
- {/each} -
-
+ + + Name + Roles + Joined + + + {#each data.memberships.memberships as membership} + + + + + {membership.teamName ? membership.teamName : 'n/a'} + + + + {membership.roles} + + + {toLocaleDateTime(membership.joined)} + + + + + + {/each} + {:else}
diff --git a/src/routes/(console)/project-[project]/databases/+page.svelte b/src/routes/(console)/project-[project]/databases/+page.svelte index 680422ead..ff290a965 100644 --- a/src/routes/(console)/project-[project]/databases/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/+page.svelte @@ -2,7 +2,7 @@ import { goto } from '$app/navigation'; import { base } from '$app/paths'; import { page } from '$app/stores'; - import { Empty, PaginationWithLimit, ViewSelector } from '$lib/components'; + import { Empty, PaginationWithLimit, SearchQuery, ViewSelector } from '$lib/components'; import { Button } from '$lib/elements/forms'; import { Container, ContainerHeader } from '$lib/layout'; import type { Models } from '@appwrite.io/console'; @@ -14,7 +14,7 @@ import Table from './table.svelte'; import { registerCommands } from '$lib/commandCenter'; import { canWriteDatabases } from '$lib/stores/roles'; - import { Tooltip } from '@appwrite.io/pink-svelte'; + import { Layout, Tooltip } from '@appwrite.io/pink-svelte'; export let data: PageData; @@ -43,36 +43,27 @@ - { - isCreationDisabled = data.detail.isButtonDisabled; - }}> - -
- - {#if $canWriteDatabases} - -
- -
- Upgrade to add more databases -
- {/if} -
-
-
+ + + + + + + {#if $canWriteDatabases} + + {/if} + + {#if data.databases.total} {#if data.view === 'grid'} diff --git a/src/routes/(console)/project-[project]/databases/+page.ts b/src/routes/(console)/project-[project]/databases/+page.ts index ee03d44c2..b4e4e6081 100644 --- a/src/routes/(console)/project-[project]/databases/+page.ts +++ b/src/routes/(console)/project-[project]/databases/+page.ts @@ -1,5 +1,5 @@ import { CARD_LIMIT, Dependencies } from '$lib/constants'; -import { getLimit, getPage, getView, pageToOffset, View } from '$lib/helpers/load'; +import { getLimit, getPage, getSearch, getView, pageToOffset, View } from '$lib/helpers/load'; import { sdk } from '$lib/stores/sdk'; import { type Models, Query } from '@appwrite.io/console'; import { timeFromNow } from '$lib/helpers/date'; @@ -11,16 +11,22 @@ export const load: PageLoad = async ({ url, route, depends }) => { depends(Dependencies.DATABASES); const page = getPage(url); + const search = getSearch(url); const limit = getLimit(url, route, CARD_LIMIT); const view = getView(url, route, View.Grid); const offset = pageToOffset(page, limit); - const { databases, policies, lastBackups } = await fetchDatabasesAndBackups(limit, offset); + const { databases, policies, lastBackups } = await fetchDatabasesAndBackups( + limit, + offset, + search + ); return { offset, limit, view, + search, policies, databases, lastBackups @@ -28,12 +34,11 @@ export const load: PageLoad = async ({ url, route, depends }) => { }; // TODO: @itznotabug we should improve this! -async function fetchDatabasesAndBackups(limit: number, offset: number) { - const databases = await sdk.forProject.databases.list([ - Query.limit(limit), - Query.offset(offset), - Query.orderDesc('$createdAt') - ]); +async function fetchDatabasesAndBackups(limit: number, offset: number, search: string) { + const databases = await sdk.forProject.databases.list( + [Query.limit(limit), Query.offset(offset), Query.orderDesc('$createdAt')], + search || undefined + ); const [policies, lastBackups] = await Promise.all([ await fetchPolicies(databases), diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte index 22fb35e11..d5f679395 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte @@ -1,5 +1,5 @@ - - {#if $canWriteCollections} - - {/if} - + + + + + + + {#if $canWriteCollections} + + {/if} + + {#if data.collections.total} {#if data.view === 'grid'} diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/+page.ts b/src/routes/(console)/project-[project]/databases/database-[database]/+page.ts index 03433c2a2..42be421c4 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/+page.ts +++ b/src/routes/(console)/project-[project]/databases/database-[database]/+page.ts @@ -1,24 +1,26 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; -import { getLimit, getPage, getView, pageToOffset, View } from '$lib/helpers/load'; +import { getLimit, getPage, getSearch, getView, pageToOffset, View } from '$lib/helpers/load'; import type { PageLoad } from './$types'; import { CARD_LIMIT, Dependencies } from '$lib/constants'; export const load: PageLoad = async ({ params, url, route, depends }) => { depends(Dependencies.COLLECTIONS); const page = getPage(url); + const search = getSearch(url); const limit = getLimit(url, route, CARD_LIMIT); const view = getView(url, route, View.Grid); const offset = pageToOffset(page, limit); - const collections = await sdk.forProject.databases.listCollections(params.database, [ - Query.limit(limit), - Query.offset(offset), - Query.orderDesc('') - ]); + const collections = await sdk.forProject.databases.listCollections( + params.database, + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], + search || undefined + ); return { offset, limit, + search, view, collections }; diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/executions/table.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/executions/table.svelte index e1d829f8b..71105e69a 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/executions/table.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/executions/table.svelte @@ -18,7 +18,8 @@ import { func } from '../store'; import Delete from './delete.svelte'; import { Button } from '$lib/elements/forms'; - import { Tooltip } from '@appwrite.io/pink-svelte'; + import { Tooltip, Table } from '@appwrite.io/pink-svelte'; + import type { PageData } from './$types'; let showDropdown = []; let showDelete = false; @@ -26,7 +27,7 @@ let selectedExecution: Models.Execution = null; export let columns: Column[]; - export let data; + export let data: PageData; let execution: Record = {}; @@ -41,114 +42,112 @@ } - - + + {#each columns as column} {#if column.show} - {column.title} + {column.title} {/if} {/each} - - - - {#each data.executions.executions as execution, index (execution.$id)} - - {#each columns as column} - {#if column.show} - {#if column.id === '$id'} - {#key column.id} - - {execution.$id} - - {/key} - {:else if column.id === 'status'} - - {@const status = execution.status} - -
- - {#if status === 'scheduled'} - -
- {`Scheduled to execute on ${toLocaleDateTime(execution.scheduledAt)}`} -
-
- {:else if column.id === '$createdAt'} - - {timeFromNow(execution.$createdAt)} - - {:else if column.id === 'trigger'} - - - {execution.trigger} - - - {:else if column.id === 'requestMethod'} - - {execution.requestMethod} - - {:else if column.id === 'responseStatusCode'} - - {execution.responseStatusCode} - - {:else if column.id === 'requestPath'} - - {execution.requestPath} - - {:else if column.id === 'duration'} - - {calculateTime(execution.duration)} - - {/if} + + + {#each data.executions.executions as execution, index (execution.$id)} + + {#each columns as column} + {#if column.show} + {#if column.id === '$id'} + {#key column.id} + + {execution.$id} + + {/key} + {:else if column.id === 'status'} + + {@const status = execution.status} + +
+ + {#if status === 'scheduled'} + +
+ {`Scheduled to execute on ${toLocaleDateTime(execution.scheduledAt)}`} +
+
+ {:else if column.id === '$createdAt'} + + {timeFromNow(execution.$createdAt)} + + {:else if column.id === 'trigger'} + + + {execution.trigger} + + + {:else if column.id === 'requestMethod'} + + {execution.requestMethod} + + {:else if column.id === 'responseStatusCode'} + + {execution.responseStatusCode} + + {:else if column.id === 'requestPath'} + + {execution.requestPath} + + {:else if column.id === 'duration'} + + {calculateTime(execution.duration)} + {/if} - {/each} - - - + + { - showDropdown[index] = !showDropdown[index]; + showDropdown = []; + showLogs(execution); }}> - - -
- {/each} -
-
+ Logs + + { + selectedExecution = execution; + showDropdown = []; + showDelete = true; + }}> + Delete + + + + + + {/each} + {#if selectedExecution} diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/table.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/table.svelte index af89e599f..a03da9f08 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/table.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/table.svelte @@ -1,14 +1,5 @@ - - + + {#each columns as column} {#if column.show} - {column.title} + + {column.title} + {/if} {/each} - - - - {#each data.deploymentList.deployments as deployment, index (deployment.$id)} - - {#each columns as column} - {#if column.show} - {#if column.id === '$id'} - {#key column.id} - - {deployment.$id} - - {/key} - {:else if column.id === 'status'} - - {@const status = deployment.status} - {#if data?.activeDeployment?.$id === deployment?.$id} - - - {:else} - - {status} - - {/if} - - {:else if column.id === 'type'} - - - - {:else if column.id === '$updatedAt'} - - - - {:else if column.id === 'buildTime'} - - {#if ['processing', 'building'].includes(deployment.status)} - - {:else} - {calculateTime(deployment.buildTime)} - {/if} - - {:else if column.id === 'size'} - - {calculateSize(deployment.size)} - - {:else if column.id === 'buildSize'} - - {calculateSize(deployment.buildSize)} - - {/if} + + + {#each data.deploymentList.deployments as deployment, index (deployment.$id)} + + {#each columns as column} + {#if column.show} + {#if column.id === '$id'} + {#key column.id} + + {deployment.$id} + + {/key} + {:else if column.id === 'status'} + + {@const status = deployment.status} + {#if data?.activeDeployment?.$id === deployment?.$id} + + + {:else} + + {status} + + {/if} + + {:else if column.id === 'type'} + + + + {:else if column.id === '$updatedAt'} + + + + {:else if column.id === 'buildTime'} + + {#if ['processing', 'building'].includes(deployment.status)} + + {:else} + {calculateTime(deployment.buildTime)} + {/if} + + {:else if column.id === 'size'} + + {calculateSize(deployment.size)} + + {:else if column.id === 'buildSize'} + + {calculateSize(deployment.buildSize)} + {/if} - {/each} - - - + + { + selectedDeployment = deployment; + showRedeploy = true; + showDropdown = []; }}> - + {#if deployment.status === 'ready' && deployment.$id !== $func.deployment} { selectedDeployment = deployment; - showRedeploy = true; + showActivate = true; showDropdown = []; }}> - Redeploy + Activate - {#if deployment.status === 'ready' && deployment.$id !== $func.deployment} - { - selectedDeployment = deployment; - showActivate = true; - showDropdown = []; - }}> - Activate - - {/if} - - Logs - - (showDropdown[index] = false)}> - Download - - {#if deployment.status === 'processing' || deployment.status === 'building' || deployment.status === 'waiting'} - { - selectedDeployment = deployment; - showDropdown = []; - showCancel = true; - }}> - Cancel - - {/if} - {#if deployment.status !== 'building' && deployment.status !== 'processing' && deployment.status !== 'waiting'} - { - selectedDeployment = deployment; - showDropdown = []; - showDelete = true; - }}> - Delete - - {/if} - - - - - {/each} - - + {/if} + + Logs + + (showDropdown[index] = false)}> + Download + + {#if deployment.status === 'processing' || deployment.status === 'building' || deployment.status === 'waiting'} + { + selectedDeployment = deployment; + showDropdown = []; + showCancel = true; + }}> + Cancel + + {/if} + {#if deployment.status !== 'building' && deployment.status !== 'processing' && deployment.status !== 'waiting'} + { + selectedDeployment = deployment; + showDropdown = []; + showDelete = true; + }}> + Delete + + {/if} + + + + + {/each} + {#if selectedDeployment} diff --git a/src/routes/(console)/project-[project]/messaging/+page.svelte b/src/routes/(console)/project-[project]/messaging/+page.svelte index 68d34feeb..6c3a9b7dd 100644 --- a/src/routes/(console)/project-[project]/messaging/+page.svelte +++ b/src/routes/(console)/project-[project]/messaging/+page.svelte @@ -43,6 +43,7 @@ import type { Column } from '$lib/helpers/types'; import { writable } from 'svelte/store'; import { canWriteMessages } from '$lib/stores/roles'; + import { Layout } from '@appwrite.io/pink-svelte'; export let data: PageData; let selected: string[] = []; @@ -93,49 +94,21 @@ - - {#if $canWriteMessages} -
+ + + + + + + + {#if $canWriteMessages} -
- {/if} -
-
- -
-
- - - {#if $canWriteMessages} - - {/if} -
-
-
-
-
- -
-
- -
-
-
+ {/if} + + + {#if data.messages.total} diff --git a/src/routes/(console)/project-[project]/messaging/providers/+page.svelte b/src/routes/(console)/project-[project]/messaging/providers/+page.svelte index d75a1464c..271218a07 100644 --- a/src/routes/(console)/project-[project]/messaging/providers/+page.svelte +++ b/src/routes/(console)/project-[project]/messaging/providers/+page.svelte @@ -18,6 +18,8 @@ import Table from './table.svelte'; import { base } from '$app/paths'; import { canWriteProviders } from '$lib/stores/roles'; + import { Layout } from '@appwrite.io/pink-svelte'; + import { View } from '$lib/helpers/load'; export let data: PageData; @@ -27,46 +29,19 @@ -
-
- Providers + + + + + + + {#if $canWriteProviders} -
- -
+ {/if} -
- - -
- - - {#if $canWriteProviders} - - {/if} -
-
-
-
- - -
-
- - -
-
-
+ + + {#if data.providers.total} diff --git a/src/routes/(console)/project-[project]/messaging/topics/+page.svelte b/src/routes/(console)/project-[project]/messaging/topics/+page.svelte index c30948252..fafad34a8 100644 --- a/src/routes/(console)/project-[project]/messaging/topics/+page.svelte +++ b/src/routes/(console)/project-[project]/messaging/topics/+page.svelte @@ -6,9 +6,8 @@ EmptySearch, SearchQuery, PaginationWithLimit, - Heading, - ViewSelector, - EmptyFilter + EmptyFilter, + ViewSelector } from '$lib/components'; import Create from './create.svelte'; import { goto } from '$app/navigation'; @@ -17,12 +16,13 @@ import type { Models } from '@appwrite.io/console'; import type { PageData } from './$types'; import { showCreate } from './store'; - import { View } from '$lib/helpers/load'; import { Filters, hasPageQueries } from '$lib/components/filters'; import Table from './table.svelte'; import type { Column } from '$lib/helpers/types'; import { writable } from 'svelte/store'; import { canWriteTopics } from '$lib/stores/roles'; + import { Layout } from '@appwrite.io/pink-svelte'; + import { View } from '$lib/helpers/load'; export let data: PageData; @@ -50,52 +50,22 @@ -
-
- Topics + + + + + + + {#if $canWriteTopics} -
- -
+ {/if} -
- - -
- - - {#if $canWriteTopics} - - {/if} -
-
-
-
- - -
-
- - -
-
-
+ + + {#if data.topics.total}
diff --git a/src/routes/(console)/project-[project]/sites/+page.svelte b/src/routes/(console)/project-[project]/sites/+page.svelte index 45e6e9df8..4b3789b05 100644 --- a/src/routes/(console)/project-[project]/sites/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/+page.svelte @@ -1,13 +1,13 @@ - (show = true)} - total={data.siteList.total} /> + + + + + + + + {#if data.siteList.total}
{#each data.siteList.sites as site} diff --git a/src/routes/(console)/project-[project]/sites/+page.ts b/src/routes/(console)/project-[project]/sites/+page.ts index 01500877f..dd7cc08d2 100644 --- a/src/routes/(console)/project-[project]/sites/+page.ts +++ b/src/routes/(console)/project-[project]/sites/+page.ts @@ -1,24 +1,25 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; -import { getLimit, getPage, pageToOffset } from '$lib/helpers/load'; +import { getLimit, getPage, getSearch, pageToOffset } from '$lib/helpers/load'; import { CARD_LIMIT, Dependencies } from '$lib/constants'; export const load = async ({ url, depends, route }) => { depends(Dependencies.SITES); const page = getPage(url); + const search = getSearch(url); const limit = getLimit(url, route, CARD_LIMIT); const offset = pageToOffset(page, limit); - const siteList = await sdk.forProject.sites.list([ - Query.limit(limit), - Query.offset(offset), - Query.orderDesc('') - ]); + const siteList = await sdk.forProject.sites.list( + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], + search || undefined + ); return { offset, limit, + search, siteList }; }; diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte index 65fd262dc..cd9393b78 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte @@ -47,16 +47,10 @@ {#each data.domains.rules as domain} - - - {domain.domain} - - - + + {domain.domain} + + {toLocaleDateTime(domain.$updatedAt)} diff --git a/src/routes/(console)/project-[project]/storage/+page.svelte b/src/routes/(console)/project-[project]/storage/+page.svelte index ea3066763..310d46d87 100644 --- a/src/routes/(console)/project-[project]/storage/+page.svelte +++ b/src/routes/(console)/project-[project]/storage/+page.svelte @@ -4,7 +4,14 @@ - ($showCreateBucket = true)} /> + + + + + + {#if $canWriteBuckets} + + {/if} + + + {#if data.buckets.total} { const page = getPage(url); + const search = getSearch(url); const limit = getLimit(url, route, CARD_LIMIT); const offset = pageToOffset(page, limit); return { offset, limit, - buckets: await sdk.forProject.storage.listBuckets([ - Query.limit(limit), - Query.offset(offset), - Query.orderDesc('') - ]) + search, + buckets: await sdk.forProject.storage.listBuckets( + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], + search || undefined + ) }; }; diff --git a/src/routes/(console)/project-[project]/storage/bucket-[bucket]/+page.svelte b/src/routes/(console)/project-[project]/storage/bucket-[bucket]/+page.svelte index 2f197f3ff..15ecd1d5a 100644 --- a/src/routes/(console)/project-[project]/storage/bucket-[bucket]/+page.svelte +++ b/src/routes/(console)/project-[project]/storage/bucket-[bucket]/+page.svelte @@ -49,7 +49,7 @@ import Create from './create-file/create.svelte'; import DeleteFile from './deleteFile.svelte'; import { isCloud } from '$lib/system'; - import { Tooltip } from '@appwrite.io/pink-svelte'; + import { Layout, Tooltip } from '@appwrite.io/pink-svelte'; export let data; @@ -93,51 +93,17 @@ - - - - -
- -
- Upgrade to add more files -
-
-
- - {#if tier === tierToPlan(BillingPlan.FREE).name} -

The {tier} plan has limits

-
    -
  • {limit}GB total file storage
  • -
  • - {Math.floor(parseInt(maxFileSize.value))}{maxFileSize.unit} file upload size - limit -
  • -
-

- - for additional storage resources. -

- {:else} -

- You are limited to {limit} GB storage on the {tier} plan. After this amount - - . -

- {/if} -
-
+ + + + + + + + {#if data.files.total}