import { FeatureStatus } from '@standardnotes/snjs'; import { FunctionalComponent } from 'preact'; interface IProps { expiredDate: string; componentName: string; featureStatus: FeatureStatus; manageSubscription: () => void; } const statusString = ( featureStatus: FeatureStatus, expiredDate: string, componentName: string ) => { switch (featureStatus) { case FeatureStatus.InCurrentPlanButExpired: return `Your subscription expired on ${expiredDate}`; case FeatureStatus.NoUserSubscription: return `You do not have an active subscription`; case FeatureStatus.NotInCurrentPlan: return `Please upgrade your plan to access ${componentName}`; default: return `${componentName} is valid and you should not be seeing this message`; } }; export const IsExpired: FunctionalComponent = ({ expiredDate, featureStatus, componentName, manageSubscription, }) => { return (
{statusString(featureStatus, expiredDate, componentName)}
{componentName} is in a read-only state.
manageSubscription()} >
); };