feat: Support 'free' subscription status in UI
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user