added dismiss and cooldown period of 36hrs

This commit is contained in:
Harsh Mahajan
2025-09-18 19:01:50 +05:30
parent 7d57d6ae2c
commit d01fd11293
@@ -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 @@
</Alert.Inline>
{/if}
{#if isCloud && data.organization.billingPlan === BillingPlan.FREE && projectsToArchive.length === 0}
<Alert.Inline>
{#if isCloud && data.organization.billingPlan === BillingPlan.FREE && projectsToArchive.length === 0 && !freePlanAlertDismissed}
<Alert.Inline dismissible on:dismiss={dismissFreePlanAlert}>
<Typography.Text
>Your Free plan includes up to 2 projects and limited resources. Upgrade to unlock
more capacity and features.</Typography.Text>