webmail: add button to mark a mailbox and its children as read

this sets the seen flag on all messages in the mailbox and its children.
This commit is contained in:
Mechiel Lukkien
2025-01-30 11:50:52 +01:00
parent c8fd9ca664
commit ad26fd265d
9 changed files with 134 additions and 1 deletions

View File

@ -5149,6 +5149,13 @@ const newMailboxView = (xmb: api.Mailbox, mailboxlistView: MailboxlistView, othe
const remove = popover(actionBtn, {transparent: true},
dom.div(style({display: 'flex', flexDirection: 'column', gap: '.5ex'}),
dom.div(
dom.clickbutton('Mark as read', attr.title('Mark all messages in the mailbox and its sub mailboxes as read.'), async function click() {
remove()
const mailboxIDs = [mbv.mailbox.ID, ...mailboxlistView.mailboxes().filter(mb => mb.Name.startsWith(mbv.mailbox.Name+'/')).map(mb => mb.ID)]
await withStatus('Marking mailboxes as read', client.MailboxesMarkRead(mailboxIDs))
}),
),
dom.div(
dom.clickbutton('Move to trash', attr.title('Move mailbox, its messages and its mailboxes to the trash.'), async function click() {
if (!trashmb) {