diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index dd58e6e04..db8a39d51 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -20,6 +20,7 @@ import { type Models } from '@appwrite.io/console'; import { getServiceLimit, readOnly, upgradeURL } from '$lib/stores/billing'; import { BillingPlan } from '$lib/constants'; + import { hideNotification, shouldShowNotification } from '$lib/helpers/notifications'; import { onMount, type ComponentType } from 'svelte'; import { canWriteProjects } from '$lib/stores/roles'; import { checkPricingRefAndRedirect } from '$lib/helpers/pricingRedirect'; @@ -46,6 +47,7 @@ let addOrganization = false; let showSelectProject = false; let showCreateProjectCloud = false; + let freePlanAlertDismissed = false; let searchQuery: SearchQuery; @@ -98,7 +100,23 @@ } ]); - onMount(async () => checkPricingRefAndRedirect(page.url.searchParams)); + function dismissFreePlanAlert() { + freePlanAlertDismissed = true; + const notificationId = `freePlanAlert_${data.organization.$id}`; + hideNotification(notificationId, { coolOffPeriod: 36 }); + + trackEvent(Click.OrganizationClickUpgrade, { + from: 'button', + source: 'free_plan_info_alert_dismiss' + }); + } + + onMount(async () => { + checkPricingRefAndRedirect(page.url.searchParams); + const notificationId = `freePlanAlert_${data.organization.$id}`; + const shouldShow = shouldShowNotification(notificationId); + freePlanAlertDismissed = !shouldShow; + }); function findRegion(project: Models.Project) { return $regionsStore.regions.find((region) => region.$id === project.region); @@ -163,8 +181,8 @@ {/if} - {#if isCloud && data.organization.billingPlan === BillingPlan.FREE && projectsToArchive.length === 0} - + {#if isCloud && data.organization.billingPlan === BillingPlan.FREE && projectsToArchive.length === 0 && !freePlanAlertDismissed} + Your Free plan includes up to 2 projects and limited resources. Upgrade to unlock more capacity and features.