Files
overleaf-cep/services/web/frontend/js/features/subscription/data/add-on-codes.ts
T
Jimmy Domagala-Tang f29bd47911 Merge pull request #25252 from overleaf/jdt-add-addon-to-cancellation-mssg-in-subs
Show Assist Add-on for pending and cancelled subscriptions

GitOrigin-RevId: df733d7078c231a5de989bc070b37e3c250fdb37
2025-05-07 08:07:20 +00:00

32 lines
1.0 KiB
TypeScript

import { PaidSubscription } from "../../../../../types/subscription/dashboard/subscription"
import { PendingPaymentProviderPlan } from "../../../../../types/subscription/plan"
export const AI_STANDALONE_PLAN_CODE = 'assistant'
export const AI_ADD_ON_CODE = 'assistant'
// we dont want translations on plan or add-on names
export const ADD_ON_NAME = "Error Assist"
export const AI_STANDALONE_ANNUAL_PLAN_CODE = 'assistant-annual'
export function isStandaloneAiPlanCode(planCode: string) {
return planCode === AI_STANDALONE_PLAN_CODE || planCode === AI_STANDALONE_ANNUAL_PLAN_CODE
}
export function hasPendingAiAddonCancellation(subscription: PaidSubscription){
const pendingPlan = subscription.pendingPlan as PendingPaymentProviderPlan
const hasAiAddon = subscription.addOns?.some(
addOn => addOn.addOnCode === AI_ADD_ON_CODE
)
// cancellation of entire plan counts as removing the add-on
if(hasAiAddon && !pendingPlan){
return true
}
return hasAiAddon &&
!pendingPlan.addOns?.some(addOn => addOn.code === AI_ADD_ON_CODE)
}