From 453956b4c8007ebcb163a77fe433c551fa73b933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Sat, 16 Aug 2025 09:53:16 +0200 Subject: [PATCH] pl-fe: kmyblue list subscriptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- packages/pl-fe/src/features/forms/index.tsx | 2 +- packages/pl-fe/src/locales/en.json | 2 ++ .../components/edit-list-form.tsx | 31 ++++++++++--------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/packages/pl-fe/src/features/forms/index.tsx b/packages/pl-fe/src/features/forms/index.tsx index 4d2bc814a..819c80064 100644 --- a/packages/pl-fe/src/features/forms/index.tsx +++ b/packages/pl-fe/src/features/forms/index.tsx @@ -106,7 +106,7 @@ interface ISelectDropdown { hint?: React.ReactNode; items: Record; defaultValue?: string; - onChange?: React.ChangeEventHandler; + onChange?: React.ChangeEventHandler; } const SelectDropdown: React.FC = (props) => { diff --git a/packages/pl-fe/src/locales/en.json b/packages/pl-fe/src/locales/en.json index e8101d831..45151d105 100644 --- a/packages/pl-fe/src/locales/en.json +++ b/packages/pl-fe/src/locales/en.json @@ -1107,6 +1107,8 @@ "lists.new.create_title": "Add list", "lists.new.save": "Save list", "lists.new.title_placeholder": "New list title", + "lists.notifications": "Subscribe", + "lists.notifications_hint": "Subscribe to receive notifications for new posts in the list.", "lists.replies_policy.followed": "Any followed user", "lists.replies_policy.list": "Members of the list", "lists.replies_policy.none": "No one", diff --git a/packages/pl-fe/src/modals/list-editor-modal/components/edit-list-form.tsx b/packages/pl-fe/src/modals/list-editor-modal/components/edit-list-form.tsx index 499d5ba9b..9d22a052d 100644 --- a/packages/pl-fe/src/modals/list-editor-modal/components/edit-list-form.tsx +++ b/packages/pl-fe/src/modals/list-editor-modal/components/edit-list-form.tsx @@ -37,10 +37,7 @@ const ListForm: React.FC = ({ const [title, setTitle] = useState(list!.title); const [repliesPolicy, setRepliesPolicy] = useState(list!.replies_policy); const [exclusive, setExclusive] = useState(list!.exclusive); - - const handleChange: React.ChangeEventHandler = e => { - setTitle(e.target.value); - }; + const [notify, setNotify] = useState(list!.notify); const handleSubmit: React.FormEventHandler = e => { e.preventDefault(); @@ -51,14 +48,6 @@ const ListForm: React.FC = ({ updateList({ title, replies_policy: repliesPolicy, exclusive }); }; - const handleChangeRepliesPolicy = (e: React.ChangeEvent) => { - setRepliesPolicy(e.target.value as 'none'); - }; - - const handleChangeExclusive = (e: React.ChangeEvent) => { - setExclusive(e.target.checked); - }; - return (
= ({ outerClassName='grow' type='text' value={title} - onChange={handleChange} + onChange={(e) => setTitle(e.target.value)} /> @@ -86,7 +75,7 @@ const ListForm: React.FC = ({ followed: intl.formatMessage(messages.repliesPolicyFollowed), }} defaultValue={repliesPolicy || 'list'} - onChange={handleChangeRepliesPolicy} + onChange={(e) => setRepliesPolicy(e.target.value as 'none')} /> )} @@ -98,7 +87,19 @@ const ListForm: React.FC = ({ > setExclusive(e.target.checked)} + /> + + )} + + {features.listsNotifications && ( + } + hint={} + > + setNotify(e.target.checked)} /> )}