diff --git a/src/lib/commandCenter/panels/ai.svelte b/src/lib/commandCenter/panels/ai.svelte index da09311f7..c4327962d 100644 --- a/src/lib/commandCenter/panels/ai.svelte +++ b/src/lib/commandCenter/panels/ai.svelte @@ -179,7 +179,7 @@ {#if $isLoading || answer}
-
{getInitials($user.name)}
+
{getInitials($user.name || $user.email)}

{previousQuestion}

@@ -229,7 +229,7 @@ + {/if} @@ -263,22 +341,19 @@ diff --git a/src/routes/(console)/apply-credit/+page.ts b/src/routes/(console)/apply-credit/+page.ts index 865dc3a97..362a3adff 100644 --- a/src/routes/(console)/apply-credit/+page.ts +++ b/src/routes/(console)/apply-credit/+page.ts @@ -3,9 +3,8 @@ import type { Coupon } from '$lib/sdk/billing.js'; import type { Campaign } from '$lib/stores/campaigns.js'; import { sdk } from '$lib/stores/sdk.js'; import { redirect } from '@sveltejs/kit'; -import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ url }) => { +export const load = async ({ url }) => { // Has promo code if (url.searchParams.has('code')) { let couponData: Coupon; diff --git a/src/routes/(console)/create-organization/+page.svelte b/src/routes/(console)/create-organization/+page.svelte index 978bf15da..a9a92035e 100644 --- a/src/routes/(console)/create-organization/+page.svelte +++ b/src/routes/(console)/create-organization/+page.svelte @@ -91,7 +91,7 @@ const type = $page.url.searchParams.get('type'); if (type === 'payment_confirmed') { const organizationId = $page.url.searchParams.get('id'); - const invites = $page.url.searchParams.getAll('invites'); + const invites = $page.url.searchParams.get('invites').split(','); await validate(organizationId, invites); } } @@ -152,10 +152,12 @@ let params = new URLSearchParams(); params.append('type', 'payment_confirmed'); params.append('id', org.teamId); - for (let index = 0; index < collaborators.length; index++) { - const invite = collaborators[index]; - params.append('invites', invite); + for (const [key, value] of $page.url.searchParams.entries()) { + if (key !== 'type' && key !== 'id') { + params.append(key, value); + } } + params.append('invites', collaborators.join(',')); await confirmPayment( '', clientSecret, diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 76607b429..91f9fbfbd 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -28,16 +28,16 @@ import { ID, Region } from '@appwrite.io/console'; import { openImportWizard } from '../project-[project]/settings/migrations/(import)'; import { readOnly } from '$lib/stores/billing'; - import type { RegionList } from '$lib/sdk/billing'; import { onMount } from 'svelte'; import { organization } from '$lib/stores/organization'; import { canWriteProjects } from '$lib/stores/roles'; import { checkPricingRefAndRedirect } from '$lib/helpers/pricingRedirect'; + import { regions as regionsStore } from '$routes/(console)/organization-[organization]/store'; export let data; - let addOrganization = false; let showCreate = false; + let addOrganization = false; const getPlatformInfo = (platform: string) => { let name: string, icon: string; @@ -85,6 +85,7 @@ if (isCloud) wizard.start(Create); else showCreate = true; } + $: $registerCommands([ { label: 'Create project', @@ -120,17 +121,16 @@ } }; - let regions: RegionList; onMount(async () => { if (isCloud) { - regions = await sdk.forConsole.billing.listRegions(); + const regions = await sdk.forConsole.billing.listRegions(); + regionsStore.set(regions); checkPricingRefAndRedirect($page.url.searchParams); } }); function findRegion(project: Models.Project) { - const region = regions.regions.find((region) => region.$id === project.region); - return region; + return $regionsStore?.regions?.find((region) => region.$id === project.region); } @@ -198,7 +198,7 @@ {/if} - {#if isCloud && regions} + {#if isCloud && $regionsStore?.regions} {@const region = findRegion(project)} {region?.name} diff --git a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte index 88021270f..584c37122 100644 --- a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte +++ b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte @@ -99,6 +99,15 @@ billingPlan = plan as BillingPlan; } } + + if ($page.url.searchParams.has('type')) { + const type = $page.url.searchParams.get('type'); + if (type === 'payment_confirmed') { + const organizationId = $page.url.searchParams.get('id'); + const invites = $page.url.searchParams.get('invites').split(','); + await validate(organizationId, invites); + } + } if ($currentPlan?.$id === BillingPlan.SCALE) { billingPlan = BillingPlan.SCALE; } else { @@ -224,17 +233,20 @@ if (!isOrganization(org) && org.status == 402) { let clientSecret = org.clientSecret; let params = new URLSearchParams(); + for (const [key, value] of $page.url.searchParams.entries()) { + if (key !== 'type' && key !== 'id') { + params.append(key, value); + } + } params.append('type', 'payment_confirmed'); params.append('id', org.teamId); - for (let index = 0; index < collaborators.length; index++) { - const invite = collaborators[index]; - params.append('invites', invite); - } + params.append('invites', collaborators.join(',')); + params.append('plan', billingPlan); await confirmPayment( '', clientSecret, paymentMethodId, - '/console/create-organization?' + params.toString() + '/console/change-plan?' + params.toString() ); await validate(org.teamId, collaborators); } diff --git a/src/routes/(console)/organization-[organization]/deleteMember.svelte b/src/routes/(console)/organization-[organization]/deleteMember.svelte index d79b6bd01..c2b446335 100644 --- a/src/routes/(console)/organization-[organization]/deleteMember.svelte +++ b/src/routes/(console)/organization-[organization]/deleteMember.svelte @@ -1,18 +1,18 @@ + + {#each $regionFlagUrls as image} + + {/each} + + Details diff --git a/src/routes/(console)/organization-[organization]/wizard/step2.svelte b/src/routes/(console)/organization-[organization]/wizard/step2.svelte index 37841d20b..1ac76706e 100644 --- a/src/routes/(console)/organization-[organization]/wizard/step2.svelte +++ b/src/routes/(console)/organization-[organization]/wizard/step2.svelte @@ -4,11 +4,12 @@ import { WizardStep } from '$lib/layout'; import { sdk } from '$lib/stores/sdk'; import { onMount } from 'svelte'; - import { createProject, regions } from './store'; + import { createProject } from './store'; import type { Region } from '$lib/sdk/billing'; import { addNotification } from '$lib/stores/notifications'; import type { Models } from '@appwrite.io/console'; import { page } from '$app/stores'; + import { regions } from '$routes/(console)/organization-[organization]/store'; let prefs: Models.Preferences; diff --git a/src/routes/(console)/organization-[organization]/wizard/store.ts b/src/routes/(console)/organization-[organization]/wizard/store.ts index 779754239..d79bd1ded 100644 --- a/src/routes/(console)/organization-[organization]/wizard/store.ts +++ b/src/routes/(console)/organization-[organization]/wizard/store.ts @@ -1,4 +1,3 @@ -import type { RegionList } from '$lib/sdk/billing'; import { writable } from 'svelte/store'; export const createProject = writable<{ @@ -10,5 +9,3 @@ export const createProject = writable<{ name: null, region: 'fra' }); - -export const regions = writable(undefined); diff --git a/src/routes/(console)/project-[project]/auth/user-[user]/deleteAllSessions.svelte b/src/routes/(console)/project-[project]/auth/user-[user]/deleteAllSessions.svelte index adce57f4a..acfb1661d 100644 --- a/src/routes/(console)/project-[project]/auth/user-[user]/deleteAllSessions.svelte +++ b/src/routes/(console)/project-[project]/auth/user-[user]/deleteAllSessions.svelte @@ -1,7 +1,7 @@