0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Makes newsletter comments toggle conditional (#21517)

fixes
https://linear.app/ghost/issue/DES-796/shouldnt-show-email-template-option-when-commenting-is-disabled

Previously, if you had comments turned off on your site, you would still
see the toggle in newsletter settings. Clicking it would do nothing.

Now, if comments are enabled (for all members, or paid members), it will
show; if they're not, it won't.



https://github.com/user-attachments/assets/80b8e2dc-a0ed-40bc-ada5-40141676e38b
This commit is contained in:
Daniël van der Winden 2024-11-04 16:18:04 +01:00 committed by GitHub
parent 264e362e06
commit 6e8e817a47
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -10,7 +10,7 @@ import {HostLimitError, useLimiter} from '../../../../hooks/useLimiter';
import {Newsletter, useBrowseNewsletters, useEditNewsletter} from '@tryghost/admin-x-framework/api/newsletters';
import {RoutingModalProps, useRouting} from '@tryghost/admin-x-framework/routing';
import {getImageUrl, useUploadImage} from '@tryghost/admin-x-framework/api/images';
import {getSettingValues} from '@tryghost/admin-x-framework/api/settings';
import {getSettingValue, getSettingValues} from '@tryghost/admin-x-framework/api/settings';
import {hasSendingDomain, isManagedEmail, sendingDomain} from '@tryghost/admin-x-framework/api/config';
import {renderReplyToEmail, renderSenderEmail} from '../../../../utils/newsletterEmails';
import {textColorForBackgroundColor} from '@tryghost/color-utils';
@ -107,6 +107,7 @@ const Sidebar: React.FC<{
const [siteTitle] = getSettingValues(localSettings, ['title']) as string[];
const handleError = useHandleError();
const {data: {newsletters: apiNewsletters} = {}} = useBrowseNewsletters();
const commentsEnabled = ['all', 'paid'].includes(getSettingValue(settings, 'comments_enabled') || '');
let newsletterAddress = renderSenderEmail(newsletter, config, defaultEmailAddress);
const [newsletters, setNewsletters] = useState<Newsletter[]>(apiNewsletters || []);
@ -456,12 +457,12 @@ const Sidebar: React.FC<{
label='Ask your readers for feedback'
onChange={e => updateNewsletter({feedback_enabled: e.target.checked})}
/>
<Toggle
{commentsEnabled && <Toggle
checked={newsletter.show_comment_cta}
direction="rtl"
label='Add a link to your comments'
onChange={e => updateNewsletter({show_comment_cta: e.target.checked})}
/>
/>}
<Toggle
checked={newsletter.show_latest_posts}
direction="rtl"