From 683494b4108ff8231985ee7aa6c2df1ca610b5bc Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:24:15 +0530 Subject: [PATCH 1/8] fix: modernize sessions table component --- .../auth/user-[user]/sessions/+page.svelte | 154 +++++++++--------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte index f39e39bca..46566cc75 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte @@ -1,18 +1,9 @@ - + + Sessions {#if data.sessions.total} - + {/if} - + + {#if data.sessions.total} - - - Browser and device - Session - Location - IP - - - - {#each data.sessions.sessions as session} - {@const browser = getBrowser(session.clientCode)} - - -
-
- {#if browser} - {session.clientName} - {:else} - - {/if} -
-

- {session.clientName} - {session.clientVersion} on {session.osName} - {session.osVersion} -

- {#if session.current} - + + + Client + Location + IP + + + {#each data.sessions.sessions as session} + {@const browser = getBrowser(session.clientCode)} + + + +
+ {#if browser} + {session.clientName} + {:else} + {/if}
- - - {session.clientType} - {session.countryName} - {session.ip} - - - - - {/each} - - +

+ {session.clientName} + {session.clientVersion} on {session.osName} + {session.osVersion} +

+ {#if session.current} + + {/if} +
+
+ + {#if session.countryCode !== '--'} + {session.countryName} + {:else} + Unknown + {/if} + + + {session.ip} + + + + +
+ {/each} +
{:else}
From 258cee9b2168dbb9c0a792f489ec0182d9dcb1fd Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 18 Aug 2025 16:23:18 +0530 Subject: [PATCH 2/8] refactor: chnaged dimensions --- src/routes/(console)/account/sessions/+page.svelte | 6 +++--- .../auth/user-[user]/sessions/+page.svelte | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/routes/(console)/account/sessions/+page.svelte b/src/routes/(console)/account/sessions/+page.svelte index ed52cef08..ca3aeb170 100644 --- a/src/routes/(console)/account/sessions/+page.svelte +++ b/src/routes/(console)/account/sessions/+page.svelte @@ -90,9 +90,9 @@ let:root columns={[ { id: 'client' }, - { id: 'location', width: 120 }, - { id: 'ip', width: 120 }, - { id: 'actions', width: 70 } + { id: 'location', width: 200 }, + { id: 'ip', width: 200 }, + { id: 'actions', width: 100 } ]}> Client diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte index 46566cc75..2af333951 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte @@ -36,9 +36,9 @@ let:root columns={[ { id: 'client' }, - { id: 'location', width: 120 }, - { id: 'ip', width: 120 }, - { id: 'actions', width: 70 } + { id: 'location', width: 200 }, + { id: 'ip', width: 200 }, + { id: 'actions', width: 100 } ]}> Client From 46c80e44fe95f67340ae26659470b2cd34fad008 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Wed, 20 Aug 2025 01:02:55 +0530 Subject: [PATCH 3/8] feat:add warning for one free organization limitation --- .../components/billing/planSelection.svelte | 7 ++---- .../change-plan/+page.svelte | 23 +++++++++++++++---- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/lib/components/billing/planSelection.svelte b/src/lib/components/billing/planSelection.svelte index 6c2103187..2dea57521 100644 --- a/src/lib/components/billing/planSelection.svelte +++ b/src/lib/components/billing/planSelection.svelte @@ -22,12 +22,9 @@ + title={tierFree.name}> {#if $organization?.billingPlan === BillingPlan.FREE && !isNewOrg} diff --git a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte index e0bc8eb0c..fe97896b1 100644 --- a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte +++ b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte @@ -264,7 +264,9 @@ $: isUpgrade = $plansInfo.get(selectedPlan).order > $currentPlan?.order; $: isDowngrade = $plansInfo.get(selectedPlan).order < $currentPlan?.order; - $: isButtonDisabled = $organization?.billingPlan === selectedPlan; + $: isButtonDisabled = + $organization?.billingPlan === selectedPlan || + (isDowngrade && selectedPlan === BillingPlan.FREE && data.hasFreeOrgs); @@ -297,8 +299,21 @@ selfService={data.selfService} anyOrgFree={data.hasFreeOrgs} /> + {#if isDowngrade && selectedPlan === BillingPlan.FREE && data.hasFreeOrgs} + + To downgrade this organization, first migrate or delete one of your + existing paid organizations. + + + {/if} + {#if isDowngrade} - {#if selectedPlan === BillingPlan.FREE} + {#if selectedPlan === BillingPlan.FREE && !data.hasFreeOrgs} {:else if selectedPlan === BillingPlan.PRO && data.organization.billingPlan === BillingPlan.SCALE && collaborators?.length > 0} {@const extraMembers = collaborators?.length ?? 0} @@ -364,7 +379,7 @@ id="members" /> {/if} - {#if isDowngrade && selectedPlan === BillingPlan.FREE} + {#if isDowngrade && selectedPlan === BillingPlan.FREE && !data.hasFreeOrgs}
{:else if data.organization.billingPlan !== BillingPlan.CUSTOM} - + {/if} From a5d079795971bc2a570882d39677ade3371f765c Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Wed, 20 Aug 2025 01:18:13 +0530 Subject: [PATCH 4/8] fix: notification btag not rendering --- .../organization-[organization]/change-plan/+page.svelte | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte index fe97896b1..682bf7bd8 100644 --- a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte +++ b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte @@ -150,8 +150,7 @@ await goto(previousPage); addNotification({ type: 'success', - isHtml: true, - message: `${$organization.name} plan has been successfully updated.` + message: `${$organization.name} plan has been successfully updated.` }); trackEvent(Submit.OrganizationDowngrade, { From cd92a91207f868ba55c0b9a0c5d144b83dda5b50 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 24 Aug 2025 15:52:54 +0530 Subject: [PATCH 5/8] fix: removed unused anyOrgFree --- src/lib/components/billing/planSelection.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/components/billing/planSelection.svelte b/src/lib/components/billing/planSelection.svelte index 2dea57521..381832bfe 100644 --- a/src/lib/components/billing/planSelection.svelte +++ b/src/lib/components/billing/planSelection.svelte @@ -7,7 +7,6 @@ import { LabelCard } from '..'; export let billingPlan: Tier; - export let anyOrgFree = false; export let isNewOrg = false; export let selfService = true; From 2b923df4164bd6ae860f4f5e04ec70db45162d6f Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 24 Aug 2025 16:01:18 +0530 Subject: [PATCH 6/8] remove unnecessary --p-text-size styling from image and icon elements --- src/routes/(console)/account/sessions/+page.svelte | 6 +----- .../auth/user-[user]/sessions/+page.svelte | 7 +------ 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/routes/(console)/account/sessions/+page.svelte b/src/routes/(console)/account/sessions/+page.svelte index ca3aeb170..c4f4cfeeb 100644 --- a/src/routes/(console)/account/sessions/+page.svelte +++ b/src/routes/(console)/account/sessions/+page.svelte @@ -112,13 +112,9 @@ height="20" width="20" src={getBrowser(session.clientCode).toString()} - style="--p-text-size: 1.25rem" alt={session.clientName} /> {:else} - + {/if}
diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte index 2af333951..15bc234a3 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte @@ -57,14 +57,9 @@ height="20" width="20" src={getBrowser(session.clientCode).toString()} - style="--p-text-size: 1.25rem" alt={session.clientName} /> {:else} - + {/if}

From 899bdbfe6f73a20ebe982d6acf2f25c32275109e Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 24 Aug 2025 16:05:49 +0530 Subject: [PATCH 7/8] Add anyOrgFree prop to planSelection component --- src/lib/components/billing/planSelection.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/components/billing/planSelection.svelte b/src/lib/components/billing/planSelection.svelte index 381832bfe..a4a290367 100644 --- a/src/lib/components/billing/planSelection.svelte +++ b/src/lib/components/billing/planSelection.svelte @@ -8,6 +8,7 @@ export let billingPlan: Tier; export let isNewOrg = false; + export let anyOrgFree = false; export let selfService = true; $: freePlan = $plansInfo.get(BillingPlan.FREE); From 22b729d1020e95261faf789bd7948b2a822166bf Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 24 Aug 2025 16:48:11 +0530 Subject: [PATCH 8/8] used Icon Component in both tables --- src/routes/(console)/account/sessions/+page.svelte | 5 +++-- .../auth/user-[user]/sessions/+page.svelte | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/routes/(console)/account/sessions/+page.svelte b/src/routes/(console)/account/sessions/+page.svelte index c4f4cfeeb..1b8ce206d 100644 --- a/src/routes/(console)/account/sessions/+page.svelte +++ b/src/routes/(console)/account/sessions/+page.svelte @@ -13,7 +13,8 @@ import type { PageData } from './$types'; import { addNotification } from '$lib/stores/notifications'; import { onMount } from 'svelte'; - import { Badge, Layout, Table, Typography } from '@appwrite.io/pink-svelte'; + import { Badge, Layout, Table, Typography, Icon } from '@appwrite.io/pink-svelte'; + import { IconGlobeAlt } from '@appwrite.io/pink-icons-svelte'; export let data: PageData; @@ -114,7 +115,7 @@ src={getBrowser(session.clientCode).toString()} alt={session.clientName} /> {:else} - + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte index 15bc234a3..dbea6505e 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/sessions/+page.svelte @@ -1,6 +1,7 @@