export const INLINE_MAIL_SETTINGS_BLOCKED_MESSAGE = "i18n:govoplan-campaign.inline_smtp_imap_settings_are_blocked_by_the_eff.90c94538"; export type CampaignMailPolicy = { allow_campaign_profiles?: boolean | null; }; export type CampaignMailSettingsPolicyState = { campaignProfilesAllowed: boolean; usingMailProfile: boolean; inlineMailSettingsBlocked: boolean; inlineOptionDisabled: boolean; canSelectInlineSettings: boolean; inlineBlockedMessage: string; }; export function campaignMailSettingsPolicyState({ effectivePolicy, selectedProfileId, locked = false }: {effectivePolicy: CampaignMailPolicy | null | undefined;selectedProfileId: string | null | undefined;locked?: boolean;}): CampaignMailSettingsPolicyState { const campaignProfilesAllowed = effectivePolicy?.allow_campaign_profiles === true; const usingMailProfile = Boolean(selectedProfileId); const inlineMailSettingsBlocked = !campaignProfilesAllowed && !usingMailProfile; return { campaignProfilesAllowed, usingMailProfile, inlineMailSettingsBlocked, inlineOptionDisabled: !campaignProfilesAllowed, canSelectInlineSettings: !locked && campaignProfilesAllowed, inlineBlockedMessage: INLINE_MAIL_SETTINGS_BLOCKED_MESSAGE }; }