mirror of
https://github.com/suitenumerique/messages.git
synced 2026-08-17 21:25:41 +02:00
🚑️(drafts) show draft replies in threads
This commit is contained in:
@@ -608,7 +608,13 @@ class MessageRecipientSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = models.MessageRecipient
|
||||
fields = ["contact", "delivery_status", "delivery_message", "retry_at", "delivered_at"]
|
||||
fields = [
|
||||
"contact",
|
||||
"delivery_status",
|
||||
"delivery_message",
|
||||
"retry_at",
|
||||
"delivered_at",
|
||||
]
|
||||
|
||||
|
||||
class MessageSerializer(serializers.ModelSerializer):
|
||||
|
||||
@@ -122,5 +122,9 @@ class MessageTemplateTypeChoices(models.IntegerChoices):
|
||||
|
||||
|
||||
EML_SUPPORTED_MIME_TYPES = ["message/rfc822", "application/eml", "text/plain"]
|
||||
MBOX_SUPPORTED_MIME_TYPES = ["application/octet-stream", "text/plain", "application/mbox"]
|
||||
MBOX_SUPPORTED_MIME_TYPES = [
|
||||
"application/octet-stream",
|
||||
"text/plain",
|
||||
"application/mbox",
|
||||
]
|
||||
ARCHIVE_SUPPORTED_MIME_TYPES = EML_SUPPORTED_MIME_TYPES + MBOX_SUPPORTED_MIME_TYPES
|
||||
|
||||
+2
-3
@@ -28,10 +28,9 @@ export const ThreadMessage = forwardRef<HTMLElement, ThreadMessageProps>(
|
||||
({ message, isLatest, draftMessage, ...props }, ref) => {
|
||||
const { t, i18n } = useTranslation()
|
||||
const getReplyFormMode = () => {
|
||||
if (draftMessage?.is_draft) return 'reply';
|
||||
if (!message.is_draft || message.is_trashed) return null;
|
||||
if (!draftMessage) return 'new';
|
||||
if (draftMessage.is_draft) return 'reply';
|
||||
return null;
|
||||
return 'new';
|
||||
}
|
||||
const [replyFormMode, setReplyFormMode] = useState<MessageFormMode | null>(getReplyFormMode)
|
||||
const showReplyForm = replyFormMode !== null;
|
||||
|
||||
@@ -39,7 +39,7 @@ export const ThreadView = () => {
|
||||
// Nest draft messages under their parent messages
|
||||
const messagesWithDraftChildren = useMemo(() => {
|
||||
if (!messages?.results) return [];
|
||||
const rootMessages: MessageWithDraftChild[] = messages.results.filter((m) => !m.is_draft || !m.parent_id);
|
||||
const rootMessages: MessageWithDraftChild[] = messages.results.filter((m) => !m.is_draft || !m.parent_id);
|
||||
const draftChildren = messages.results.filter((m) => m.is_draft && m.parent_id);
|
||||
draftChildren.forEach((m) => {
|
||||
const parentMessage = rootMessages.find((um) => um.id === m.parent_id);
|
||||
|
||||
Reference in New Issue
Block a user