diff --git a/assets/js/src/settings/pages/basics/index.tsx b/assets/js/src/settings/pages/basics/index.tsx index 26f311a1f5..3ed2997d68 100644 --- a/assets/js/src/settings/pages/basics/index.tsx +++ b/assets/js/src/settings/pages/basics/index.tsx @@ -6,6 +6,7 @@ import SubscribeOn from './subscribe_on'; import ManageSubscription from './manage_subscription'; import UnsubscribePage from './unsubscribe_page'; import StatsNotifications from './stats_notifications'; +import NewSubscriberNotifications from './new_subscriber_notifications'; export default function Basics() { return ( @@ -24,6 +25,7 @@ export default function Basics() { + ); diff --git a/assets/js/src/settings/pages/basics/new_subscriber_notifications.tsx b/assets/js/src/settings/pages/basics/new_subscriber_notifications.tsx new file mode 100644 index 0000000000..9babbef9ce --- /dev/null +++ b/assets/js/src/settings/pages/basics/new_subscriber_notifications.tsx @@ -0,0 +1,48 @@ +import React from 'react'; +import { t, onToggle, onChange } from 'settings/utils'; +import { useSetting, useAction } from 'settings/store/hooks'; +import { Label, Inputs } from 'settings/components'; + +export default function NewSubscriberNotifications() { + const [enabled, setEnabled] = useSetting('subscriber_email_notification', 'enabled'); + const [email, setEmail] = useSetting('subscriber_email_notification', 'address'); + const setErrorFlag = useAction('setErrorFlag'); + const hasError = enabled === '1' && email.trim() === ''; + React.useEffect(() => { + setErrorFlag(hasError); + }, [hasError, setErrorFlag]); + + return ( + <> +