From 64bf13f2507ceb578ab7fa71821d224c6946aab9 Mon Sep 17 00:00:00 2001
From: Harshil Sharma <18575143+harshilsharma63@users.noreply.github.com>
Date: Tue, 12 Nov 2024 10:53:20 +0530
Subject: [PATCH] MM-60141 - Scheduled post copy text option (#29123)
* verified available actions on scheduled posts
* Review fixes
* Added copy text option for scheudled posts
* Added check for archived channel and deactivated DM
* Import optimisation
---
.../scheduled_post_actions.tsx | 18 +++++++++++++++++-
.../src/components/drafts/draft_row.tsx | 7 +++++++
webapp/channels/src/i18n/en.json | 1 +
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx b/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx
index 4336b3ddf8..5cdf20bc3c 100644
--- a/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx
+++ b/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx
@@ -55,6 +55,13 @@ const sendNowTooltipText = (
/>
);
+const copyTextTooltipText = (
+
+);
+
type Props = {
scheduledPost: ScheduledPost;
channel?: Channel;
@@ -62,9 +69,10 @@ type Props = {
onDelete: (scheduledPostId: string) => Promise<{error?: string}>;
onSend: (scheduledPostId: string) => void;
onEdit: () => void;
+ onCopyText: () => void;
}
-function ScheduledPostActions({scheduledPost, channel, onReschedule, onDelete, onSend, onEdit}: Props) {
+function ScheduledPostActions({scheduledPost, channel, onReschedule, onDelete, onSend, onEdit, onCopyText}: Props) {
const dispatch = useDispatch();
const userTimezone = useSelector(getCurrentTimezone);
@@ -149,6 +157,14 @@ function ScheduledPostActions({scheduledPost, channel, onReschedule, onDelete, o
/>
}
+
+
{
showRescheduleOption &&
!isEditing);
}, []);
+ const handleCopyText = useCallback(() => {
+ copyToClipboard(item.message);
+ }, [item]);
+
const handleScheduledPostOnSend = useCallback(() => {
handleCancelEdit();
@@ -296,6 +301,7 @@ function DraftRow({
onDelete={handleSchedulePostOnDelete}
onSend={handleScheduledPostOnSend}
onEdit={handleSchedulePostEdit}
+ onCopyText={handleCopyText}
/>
);
}, [
@@ -304,6 +310,7 @@ function DraftRow({
handleSchedulePostOnReschedule,
handleScheduledPostOnSend,
handleSchedulePostEdit,
+ handleCopyText,
item,
]);
diff --git a/webapp/channels/src/i18n/en.json b/webapp/channels/src/i18n/en.json
index d1e966f216..e9435d4798 100644
--- a/webapp/channels/src/i18n/en.json
+++ b/webapp/channels/src/i18n/en.json
@@ -4859,6 +4859,7 @@
"Schedule_post.empty_state.subtitle": "Schedule drafts to send messages at a later time. Any scheduled drafts will show up here and can be modified after being scheduled.",
"Schedule_post.empty_state.title": "No scheduled drafts at the moment",
"schedule_post.tab.heading": "Scheduled",
+ "scheduled_post.action.copy_text": "Copy text",
"scheduled_post.action.delete": "Delete scheduled post",
"scheduled_post.action.edit": "Edit scheduled post",
"scheduled_post.action.reschedule": "Reschedule post",