Skip to content

Commit 558e498

Browse files
committed
fix: stores issue, again in some places.
1 parent c4597d2 commit 558e498

2 files changed

Lines changed: 33 additions & 14 deletions

File tree

src/routes/(console)/project-[region]-[project]/overview/platforms/action.svelte

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@
1111
IconPlus,
1212
IconReact
1313
} from '@appwrite.io/pink-icons-svelte';
14-
import { isCloud } from '$lib/system';
15-
import { currentPlan } from '$lib/stores/organization';
14+
import { isServiceLimited } from '$lib/stores/billing';
15+
import { organization } from '$lib/stores/organization';
1616
import { page } from '$app/state';
17+
18+
$: isLimited = isServiceLimited('platforms', $organization, page.data.platforms.total);
1719
</script>
1820

1921
{#if $canWritePlatforms}
20-
{#if isCloud && $currentPlan?.platforms >= page.data.platforms.total}
22+
{#if isLimited}
2123
<Tooltip maxWidth="200px">
2224
<div>
2325
<Button disabled>

src/routes/(console)/project-[region]-[project]/storage/+page.svelte

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script lang="ts" context="module">
1+
<script lang="ts" module>
22
export let showCreateBucket = writable(false);
33
</script>
44

@@ -7,28 +7,34 @@
77
import { Empty, PaginationWithLimit } from '$lib/components';
88
import Create from './create.svelte';
99
import { Container, ResponsiveContainerHeader } from '$lib/layout';
10-
import { base } from '$app/paths';
1110
import { page } from '$app/state';
1211
import type { Models } from '@appwrite.io/console';
1312
import { writable } from 'svelte/store';
1413
import { canWriteBuckets } from '$lib/stores/roles';
15-
import { Icon } from '@appwrite.io/pink-svelte';
14+
import { Icon, Tooltip } from '@appwrite.io/pink-svelte';
1615
import { Button } from '$lib/elements/forms';
1716
import { columns } from './store';
1817
import Grid from './grid.svelte';
1918
import Table from './table.svelte';
2019
import { IconPlus } from '@appwrite.io/pink-icons-svelte';
20+
import { resolveRoute } from '$lib/stores/navigation';
21+
import { isServiceLimited } from '$lib/stores/billing';
22+
import type { PageProps } from './$types';
23+
import { organization } from '$lib/stores/organization';
2124
22-
export let data;
23-
24-
const project = page.params.project;
25+
let { data }: PageProps = $props();
2526
2627
async function bucketCreated(event: CustomEvent<Models.Bucket>) {
2728
showCreateBucket.set(false);
2829
await goto(
29-
`${base}/project-${page.params.region}-${project}/storage/bucket-${event.detail.$id}`
30+
resolveRoute('/(console)/project-[region]-[project]/storage/bucket-[bucket]', {
31+
...page.params,
32+
bucket: event.detail.$id
33+
})
3034
);
3135
}
36+
37+
const isLimited = $derived(isServiceLimited('buckets', $organization, data.buckets.total));
3238
</script>
3339

3440
<Container>
@@ -38,10 +44,21 @@
3844
bind:view={data.view}
3945
searchPlaceholder="Search by name or ID">
4046
{#if $canWriteBuckets}
41-
<Button on:click={() => ($showCreateBucket = true)} event="create_bucket" size="s">
42-
<Icon icon={IconPlus} slot="start" size="s" />
43-
Create bucket
44-
</Button>
47+
<Tooltip disabled={!isLimited} maxWidth="200px">
48+
<div>
49+
<Button
50+
size="s"
51+
event="create_bucket"
52+
disabled={isLimited}
53+
on:click={() => ($showCreateBucket = true)}>
54+
<Icon icon={IconPlus} slot="start" size="s" />
55+
Create bucket
56+
</Button>
57+
</div>
58+
<svelte:fragment slot="tooltip">
59+
You have reached the maximum number of buckets for your plan.
60+
</svelte:fragment>
61+
</Tooltip>
4562
{/if}
4663
</ResponsiveContainerHeader>
4764

0 commit comments

Comments
 (0)