feat: attach message headers to the reply composer

This commit is contained in:
zelfroster 2023-07-24 06:11:06 +05:30
parent 027c34c7a4
commit b7c24138bd
2 changed files with 50 additions and 3 deletions

View File

@ -61,9 +61,53 @@ const Layout = () => {
}
if (msgType === 'reply') {
const { subject, replyMessage } = await attrs;
const { subject, replyMessage, timeStamp } = await attrs;
const tmb = document.querySelector('#composerMailBody');
tmb.innerHTML = `<br><br><p>-----Original Message-----</p>${replyMessage}`;
const time = timeStamp.toLocaleTimeString('UTC', { hour: '2-digit', minute: '2-digit' });
const dateLong = timeStamp.toLocaleDateString('UTC', {
year: 'numeric',
month: 'long',
day: 'numeric',
});
const replyMessageHeader = `
-----Original Message-----
<br>
<b>From: </b>
<a href="retroshare://message?id=${senderId}">${rs.userList.userMap[senderId]}</a>
<br>
<b>To: </b>
${Object.keys(recipientList).map(
(recip) => `
<a href="retroshare://message?id=${recip}">
${rs.userList.userMap[recipientList[recip]._addr_string] || 'Unknown'},
</a>
`
)}
<br>
<br>
<b>Sent: </b>
<span>${dateLong} ${time}</span>
<br>
<b>Subject: </b>
<span>${subject}</span>
<br>
<br>
<span>
On ${timeStamp.toLocaleDateString()} ${time},
<a href="retroshare://message?id=${senderId}">${rs.userList.userMap[senderId]}</a>
wrote:
</span>
`;
tmb.innerHTML = `
<br>
<br>
<div>
${replyMessageHeader}
<div class="original-message" style="margin-left: 20px;">
${replyMessage}
</div>
</div>
`;
Data.subject = subject.substring(0, 4) === 'Re: ' ? subject : `Re: ${subject}`;
}
}

View File

@ -171,6 +171,7 @@ const MessageView = () => {
toList: {},
ccList: {},
bccList: {},
timeStamp: '',
files: [],
};
function deleteMail() {
@ -210,6 +211,7 @@ const MessageView = () => {
MailData.msgId = msgDetails.msgId;
MailData.sender = msgDetails.from;
MailData.subject = msgDetails.title;
MailData.timeStamp = msgDetails.ts;
MailData.recipients = msgDetails.destinations;
MailData?.recipients?.forEach((destDetail) => {
const { _addr_string: addrString, _mode: mode } = destDetail; // destructuring + renaming
@ -267,7 +269,7 @@ const MessageView = () => {
? [
m('#truncate.truncated-view', [
Object.keys(MailData.toList).map((key, index) =>
m('span', { key: index }, `${rs.userList.userMap[key]}, `)
m('span', { key: index }, `${rs.userList.userMap[key] || 'Unknown'}, `)
),
]),
m(
@ -325,6 +327,7 @@ const MessageView = () => {
recipientList: MailData.toList,
subject: MailData.subject,
replyMessage: MailData.message,
timeStamp: new Date(MailData.timeStamp * 1000),
setShowCompose,
})
: m('.widget', m('.widget__heading', m('h3', 'Sender is not known'))),