diff --git a/src/stores/auth.ts b/src/stores/auth.ts index a1d5a0c..0326245 100644 --- a/src/stores/auth.ts +++ b/src/stores/auth.ts @@ -20,7 +20,7 @@ export interface Organization { } export interface Subscription { - status: 'trial' | 'active' | 'paused' | 'expired' | 'cancelled' + status: 'trial' | 'active' | 'paused' | 'expired' | 'cancelled' | 'free' plan: 'starter' | 'business' | 'enterprise' trialEndsAt: string | null subscriptionEndsAt: string | null @@ -47,12 +47,19 @@ export const useAuthStore = defineStore('auth', () => { const orgLogo = computed(() => organization.value?.logo_url || null) // Subscription computed + const isFreeAccount = computed(() => subscription.value?.status === 'free') const isTrialActive = computed(() => subscription.value?.status === 'trial' && (subscription.value?.daysRemaining ?? 0) > 0) - const isSubscriptionActive = computed(() => subscription.value?.status === 'active' || isTrialActive.value) + const isSubscriptionActive = computed(() => + subscription.value?.status === 'active' || + subscription.value?.status === 'free' || + isTrialActive.value + ) const isSubscriptionExpired = computed(() => - subscription.value?.status === 'expired' || - subscription.value?.status === 'paused' || - (subscription.value?.status === 'trial' && (subscription.value?.daysRemaining ?? 0) <= 0) + !isFreeAccount.value && ( + subscription.value?.status === 'expired' || + subscription.value?.status === 'paused' || + (subscription.value?.status === 'trial' && (subscription.value?.daysRemaining ?? 0) <= 0) + ) ) const trialDaysRemaining = computed(() => subscription.value?.daysRemaining ?? null) const showTrialWarning = computed(() => isTrialActive.value && (trialDaysRemaining.value ?? 0) <= 7) @@ -173,6 +180,7 @@ export const useAuthStore = defineStore('auth', () => { fullName, orgName, orgLogo, + isFreeAccount, isTrialActive, isSubscriptionActive, isSubscriptionExpired,