diff --git a/mailpoet/assets/js/src/settings/store/actions/mss_and_premium.ts b/mailpoet/assets/js/src/settings/store/actions/mss_and_premium.ts index 049f53f863..2fa0d7483b 100644 --- a/mailpoet/assets/js/src/settings/store/actions/mss_and_premium.ts +++ b/mailpoet/assets/js/src/settings/store/actions/mss_and_premium.ts @@ -1,3 +1,4 @@ +import { cloneDeep, set } from 'lodash'; import { select } from '@wordpress/data'; import { MailPoet } from 'mailpoet'; @@ -19,6 +20,7 @@ export function* verifyMssKey(key: string) { action: 'checkMSSKey', data: { key }, }; + if (!success) { return updateKeyActivationState({ mssStatus: MssStatus.INVALID, @@ -34,9 +36,20 @@ export function* verifyMssKey(key: string) { return updateKeyActivationState(fields); } - const data = select(STORE_NAME).getSettings(); + const data = cloneDeep(select(STORE_NAME).getSettings()); + data.mta_group = 'mailpoet'; - data.mta = { ...data.mta, method: 'MailPoet', mailpoet_api_key: key }; + data.mta = { + ...data.mta, + method: 'MailPoet', + mailpoet_api_key: key, + }; + + data.mta = set( + data.mta, + 'mailpoet_api_key_state.data.is_approved', + res.data.result.data.is_approved, + ); data.signup_confirmation.enabled = '1'; const call = yield { diff --git a/mailpoet/assets/js/src/settings/store/types.ts b/mailpoet/assets/js/src/settings/store/types.ts index b159e25f9d..6434206641 100644 --- a/mailpoet/assets/js/src/settings/store/types.ts +++ b/mailpoet/assets/js/src/settings/store/types.ts @@ -92,7 +92,15 @@ export type Settings = { | 'already_used' | 'check_error' | 'valid_underprivileged'; - data: Record; + data: Record & { + subscriber_limit: number; + email_volume_limit: number; + emails_sent: number; + public_id: string; + support_tier: string; + site_active_subscriber_limit: number; + is_approved: boolean; + }; code: number; }; }; diff --git a/mailpoet/lib/API/JSON/v1/Services.php b/mailpoet/lib/API/JSON/v1/Services.php index 1a863128c0..a566561eda 100644 --- a/mailpoet/lib/API/JSON/v1/Services.php +++ b/mailpoet/lib/API/JSON/v1/Services.php @@ -126,7 +126,7 @@ class Services extends APIEndpoint { } if ($successMessage) { - return $this->successResponse(['message' => $successMessage, 'state' => $state]); + return $this->successResponse(['message' => $successMessage, 'state' => $state, 'result' => $result]); } switch ($state) {