From 7aed1cd79ef9d8d9c2ef9edd932943b12edeb036 Mon Sep 17 00:00:00 2001 From: Supertiger Date: Mon, 8 Jan 2024 17:35:39 +0000 Subject: [PATCH] delete post when editing empty message --- src/components/message-pane/MessagePane.tsx | 23 +++++++++++++++++-- .../message-pane/message-item/MessageItem.tsx | 22 ++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/components/message-pane/MessagePane.tsx b/src/components/message-pane/MessagePane.tsx index 132a4156..b893d467 100644 --- a/src/components/message-pane/MessagePane.tsx +++ b/src/components/message-pane/MessagePane.tsx @@ -45,6 +45,7 @@ import { randomKaomoji } from '@/common/kaomoji'; import { MessageLogArea } from './message-log-area/MessageLogArea'; import { TenorImage } from '@/chat-api/services/TenorService'; import { useMicRecorder } from '@nerimity/solid-opus-media-recorder'; +import { DeleteMessageModal } from './message-item/MessageItem'; export default function MessagePane(props: { mainPaneEl: HTMLDivElement }) { const params = useParams<{ channelId: string, serverId?: string }>(); @@ -192,7 +193,6 @@ function MessageArea(props: { mainPaneEl: HTMLDivElement, textAreaRef(element?: if (shouldUploadToGoogleDrive && !account.user()?.connections.find(c => c.provider === 'GOOGLE')) { createPortal(close => ) return; - } } @@ -204,6 +204,14 @@ function MessageArea(props: { mainPaneEl: HTMLDivElement, textAreaRef(element?: const formattedMessage = formatMessage(trimmedMessage, params.serverId, params.channelId, !!editMessageId()); if (editMessageId()) { + + if (!formattedMessage.trim()) { + const message = messages.get(params.channelId)?.find(m => m.id === editMessageId()) + createPortal(close => ) + channelProperties.setEditMessage(params.channelId, undefined); + return; + } + if (!trimmedMessage) return; messages.editAndStoreMessage(params.channelId, editMessageId()!, formattedMessage); cancelEdit(); @@ -365,7 +373,7 @@ function CustomTextArea(props: CustomTextAreaProps) { onClick={props.onEmojiPickerClick} iconName="face" padding={[8, 8, 8, 8]} - margin={[3, (pickedFile() || value().trim()) ? 0 : 3, 3, 3]} + margin={[3, props.isEditing ? 0 : ((pickedFile() || value().trim()) ? 0 : 3), 3, 3]} iconSize={18} /> @@ -378,6 +386,17 @@ function CustomTextArea(props: CustomTextAreaProps) { iconSize={18} /> + +