update: show upgrade for more regions.

This commit is contained in:
Darshan
2025-04-15 18:08:44 +05:30
parent 06d00f2318
commit 7cf1153327
5 changed files with 29 additions and 33 deletions
+1 -1
View File
@@ -19,7 +19,7 @@
"e2e:ui": "playwright test tests/e2e --ui"
},
"dependencies": {
"@appwrite.io/console": "1.6.0",
"@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@c985738",
"@appwrite.io/pink": "0.25.0",
"@appwrite.io/pink-icons": "0.25.0",
"@popperjs/core": "^2.11.8",
+6 -5
View File
@@ -12,8 +12,8 @@ importers:
specifier: ^1.1.24
version: 1.1.24(svelte@4.2.19)(zod@3.24.2)
'@appwrite.io/console':
specifier: 1.6.0
version: 1.6.0
specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@c985738
version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@c985738
'@appwrite.io/pink':
specifier: 0.25.0
version: 0.25.0
@@ -230,8 +230,9 @@ packages:
'@analytics/type-utils@0.6.2':
resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==}
'@appwrite.io/console@1.6.0':
resolution: {integrity: sha512-o8dvCeJcnMORozB2NdLCiN042HyyLLQzteiTelU83dTgp7q2E1DTKu69hFwyMgoEXqcxMmKeJKmMI/1qt002IQ==}
'@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@c985738':
resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@c985738}
version: 1.5.2
'@appwrite.io/pink-icons@0.25.0':
resolution: {integrity: sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q==}
@@ -3796,7 +3797,7 @@ snapshots:
'@analytics/type-utils@0.6.2': {}
'@appwrite.io/console@1.6.0': {}
'@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@c985738': {}
'@appwrite.io/pink-icons@0.25.0': {}
+1 -14
View File
@@ -260,19 +260,6 @@ export type AllowedRegions =
| 'syd'
| 'default'; //TODO: remove after migration
export type Region = {
$id: AllowedRegions;
name: string;
disabled: boolean;
default: boolean;
flag: string;
};
export type RegionList = {
regions: Region[];
total: number;
};
export type Address = {
$id: string;
streetAddress: string;
@@ -1276,7 +1263,7 @@ export class Billing {
);
}
async listRegions(teamId: string): Promise<RegionList> {
async listRegions(teamId: string): Promise<Models.ConsoleRegionList> {
const path = `/console/regions`;
const params = {
teamId
+2 -2
View File
@@ -2,7 +2,7 @@ import { page } from '$app/stores';
import { derived, writable } from 'svelte/store';
import type { Models } from '@appwrite.io/console';
import type { Tier } from './billing';
import type { Plan, RegionList } from '$lib/sdk/billing';
import type { Plan } from '$lib/sdk/billing';
export type OrganizationError = {
status: number;
@@ -61,4 +61,4 @@ export const organization = derived(page, ($page) => $page.data?.organization as
export const currentPlan = derived(page, ($page) => $page.data?.currentPlan as Plan);
export const members = derived(page, ($page) => $page.data.members as Models.MembershipList);
export const regions = writable<RegionList | undefined>(undefined);
export const regions = writable<Models.ConsoleRegionList | undefined>(undefined);
@@ -5,11 +5,12 @@
import { sdk } from '$lib/stores/sdk';
import { onMount } from 'svelte';
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 '$lib/stores/organization';
import { goto } from '$app/navigation';
import { upgradeURL } from '$lib/stores/billing';
let prefs: Models.Preferences;
@@ -17,7 +18,7 @@
prefs = $page.data.account.prefs;
});
async function notifyRegion(selectedRegion: Region) {
async function notifyRegion(selectedRegion: Models.ConsoleRegion) {
try {
let newPrefs = { ...prefs };
newPrefs.notifications ??= [];
@@ -37,7 +38,7 @@
}
}
async function unNotifyRegion(selectedRegion: Region) {
async function unNotifyRegion(selectedRegion: Models.ConsoleRegion) {
try {
let newPrefs = { ...prefs };
newPrefs.notifications = newPrefs.notifications ?? [];
@@ -72,14 +73,12 @@
<ul
class="grid-box u-margin-block-start-16"
style="--p-grid-item-size:12em; --p-grid-item-size-small-screens:12rem; --grid-gap: 1rem;">
{#each $regions.regions
.filter((r) => r.$id !== 'default')
.sort((regionA, regionB) => {
if (regionA.disabled >= regionB.disabled) {
return 1;
}
return -1;
}) as region, index}
{#each $regions.regions.sort((regionA, regionB) => {
if (regionA.disabled >= regionB.disabled) {
return 1;
}
return -1;
}) as region, index}
<li>
<RegionCard
name="region"
@@ -127,6 +126,15 @@
flag={region.flag}
name={region.name} />
{region.name}
{#if !region.available}
<Pill
button
event="upgrade_from_region_chooser"
on:click={() => goto($upgradeURL)}>
<span class="text">Upgrade</span>
</Pill>
{/if}
{/if}
</div>
</RegionCard>