From 9998f77d31aa148e3df4c70ed220f7e6b4e1dd2f Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 15 May 2023 01:33:36 -0700 Subject: [PATCH] extra length for premium plans --- .../src/session/SessionSubscriptionsWrapper.ts | 14 +++++++++++++- .../pages/tts/tts_model_list/TtsModelListPage.tsx | 4 +++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/components/src/session/SessionSubscriptionsWrapper.ts b/packages/components/src/session/SessionSubscriptionsWrapper.ts index 62dbf6cd4e..bf097bfe1e 100644 --- a/packages/components/src/session/SessionSubscriptionsWrapper.ts +++ b/packages/components/src/session/SessionSubscriptionsWrapper.ts @@ -25,11 +25,23 @@ export class SessionSubscriptionsWrapper { return new SessionSubscriptionsWrapper(); } + public ttsMaximumLength() : number { + if (this.hasActiveEliteSubscription()) { + return 4096; + } else if (this.hasActiveProSubscription()) { + return 3072; + } else if (this.hasActivePlusSubscription()) { + return 2048; + } else if (this.hasLoyaltyProgram()) { + return 2048; + } + return 1024; + } + public hasFreeOrPaidPremiumFeatures() : boolean { return this.hasLoyaltyProgram() || this.hasPaidFeatures(); } - public hasLoyaltyProgram() : boolean { return !!this.listActiveSubscriptionResponse?.maybe_loyalty_program; } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx index 7815eb29dd..30a663aa90 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx @@ -466,7 +466,9 @@ function TtsModelListPage(props: Props) { } // NB: If the text is too long, don't allow submission - let remainingCharactersButtonDisabled = props.textBuffer.trim().length > 1024; + let remainingCharactersButtonDisabled = props.textBuffer.trim().length > + props.sessionSubscriptionsWrapper.ttsMaximumLength(); + let noTextInputButtonDisabled = props.textBuffer.trim() === ""; const speakButtonClass = loading