import { PricingPlanType, FEATURES } from "@turbostarter/billing"; interface PlanFeature { readonly id: string; readonly available: boolean; readonly title: string; readonly addon?: React.ReactNode; } export const PLAN_FEATURES: Record = { [PricingPlanType.FREE]: [ { id: FEATURES[PricingPlanType.FREE].SYNC, available: true, title: "billing:plan.starter.features.sync", }, { id: FEATURES[PricingPlanType.FREE].BASIC_SUPPORT, available: true, title: "billing:plan.starter.features.basicSupport", }, { id: FEATURES[PricingPlanType.FREE].LIMITED_STORAGE, available: true, title: "billing:plan.starter.features.limitedStorage", }, { id: FEATURES[PricingPlanType.FREE].EMAIL_NOTIFICATIONS, available: true, title: "billing:plan.starter.features.emailNotifications", }, { id: FEATURES[PricingPlanType.FREE].BASIC_REPORTS, available: true, title: "billing:plan.starter.features.basicReports", }, { id: FEATURES[PricingPlanType.PREMIUM].ADVANCED_SYNC, available: false, title: "billing:plan.premium.features.advancedSync", }, { id: FEATURES[PricingPlanType.PREMIUM].PRIORITY_SUPPORT, available: false, title: "billing:plan.premium.features.prioritySupport", }, { id: FEATURES[PricingPlanType.PREMIUM].MORE_STORAGE, available: false, title: "billing:plan.premium.features.moreStorage", }, ], [PricingPlanType.PREMIUM]: [ { id: FEATURES[PricingPlanType.PREMIUM].ADVANCED_SYNC, available: true, title: "billing:plan.premium.features.advancedSync", }, { id: FEATURES[PricingPlanType.PREMIUM].PRIORITY_SUPPORT, available: true, title: "billing:plan.premium.features.prioritySupport", }, { id: FEATURES[PricingPlanType.PREMIUM].MORE_STORAGE, available: true, title: "billing:plan.premium.features.moreStorage", }, { id: FEATURES[PricingPlanType.PREMIUM].TEAM_COLLABORATION, available: true, title: "billing:plan.premium.features.teamCollaboration", }, { id: FEATURES[PricingPlanType.PREMIUM].SMS_NOTIFICATIONS, available: true, title: "billing:plan.premium.features.smsNotifications", }, { id: FEATURES[PricingPlanType.PREMIUM].ADVANCED_REPORTS, available: true, title: "billing:plan.premium.features.advancedReports", }, { id: FEATURES[PricingPlanType.ENTERPRISE].UNLIMITED_STORAGE, available: false, title: "billing:plan.enterprise.features.unlimitedStorage", }, { id: FEATURES[PricingPlanType.ENTERPRISE].CUSTOM_BRANDING, available: false, title: "billing:plan.enterprise.features.customBranding", }, { id: FEATURES[PricingPlanType.ENTERPRISE].DEDICATED_SUPPORT, available: false, title: "billing:plan.enterprise.features.dedicatedSupport", }, ], [PricingPlanType.ENTERPRISE]: [ { id: FEATURES[PricingPlanType.ENTERPRISE].UNLIMITED_STORAGE, available: true, title: "billing:plan.enterprise.features.unlimitedStorage", }, { id: FEATURES[PricingPlanType.ENTERPRISE].CUSTOM_BRANDING, available: true, title: "billing:plan.enterprise.features.customBranding", }, { id: FEATURES[PricingPlanType.ENTERPRISE].DEDICATED_SUPPORT, available: true, title: "billing:plan.enterprise.features.dedicatedSupport", }, { id: FEATURES[PricingPlanType.ENTERPRISE].API_ACCESS, available: true, title: "billing:plan.enterprise.features.apiAccess", }, { id: FEATURES[PricingPlanType.ENTERPRISE].USER_ROLES, available: true, title: "billing:plan.enterprise.features.userRoles", }, { id: FEATURES[PricingPlanType.ENTERPRISE].AUDIT_LOGS, available: true, title: "billing:plan.enterprise.features.auditLogs", }, { id: FEATURES[PricingPlanType.ENTERPRISE].SINGLE_SIGN_ON, available: true, title: "billing:plan.enterprise.features.singleSignOn", }, { id: FEATURES[PricingPlanType.ENTERPRISE].ADVANCED_ANALYTICS, available: true, title: "billing:plan.enterprise.features.advancedAnalytics", }, ], };