@bobfrankston/rmfmail 1.2.12 → 1.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8136,12 +8136,6 @@ async function deleteSelectedMessages() {
8136
8136
  This cannot be undone.`)) {
8137
8137
  return;
8138
8138
  }
8139
- } else if (n > 1) {
8140
- if (!confirm(`Move ${n} messages to Trash?
8141
-
8142
- (Ctrl+Z restores them if this was a mistake.)`)) {
8143
- return;
8144
- }
8145
8139
  }
8146
8140
  const statusSync = document.getElementById("status-sync");
8147
8141
  const snapshot = [...selected];
@@ -9629,18 +9623,29 @@ document.addEventListener("keydown", (e) => {
9629
9623
  const active = document.activeElement;
9630
9624
  const inText = active && (active.tagName === "INPUT" || active.tagName === "TEXTAREA" || active.tagName === "SELECT" || active.isContentEditable);
9631
9625
  if (!e.ctrlKey && inText) return;
9626
+ e.preventDefault();
9627
+ const applySeen = (m, seen) => {
9628
+ setSeen(m, seen);
9629
+ updateFlags(m.accountId, m.uid, m.flags).then(() => {
9630
+ updateMessageFlags(m.accountId, m.uid, m.flags);
9631
+ const row = document.querySelector(`.ml-row[data-uid="${m.uid}"][data-account-id="${CSS.escape(m.accountId)}"]`);
9632
+ if (row) row.classList.toggle("unread", !seen);
9633
+ }).catch(() => {
9634
+ setSeen(m, !seen);
9635
+ });
9636
+ };
9637
+ const selectedIds = getSelectedMessages();
9638
+ if (selectedIds.length > 1) {
9639
+ const all = getMessages2();
9640
+ for (const id of selectedIds) {
9641
+ const m = all.find((x) => x.accountId === id.accountId && x.uid === id.uid && x.folderId === id.folderId);
9642
+ if (m && !seenOf(m)) applySeen(m, true);
9643
+ }
9644
+ return;
9645
+ }
9632
9646
  const sel = getCurrentFocused();
9633
9647
  if (!sel) return;
9634
- e.preventDefault();
9635
- const wasSeen = seenOf(sel);
9636
- setSeen(sel, !wasSeen);
9637
- updateFlags(sel.accountId, sel.uid, sel.flags).then(() => {
9638
- updateMessageFlags(sel.accountId, sel.uid, sel.flags);
9639
- const row = document.querySelector(`.ml-row[data-uid="${sel.uid}"][data-account-id="${sel.accountId}"]`);
9640
- if (row) row.classList.toggle("unread", wasSeen);
9641
- }).catch(() => {
9642
- setSeen(sel, wasSeen);
9643
- });
9648
+ applySeen(sel, !seenOf(sel));
9644
9649
  }
9645
9650
  if (e.key.toLowerCase() === "z" && !e.ctrlKey && !e.metaKey && !e.altKey) {
9646
9651
  const active = document.activeElement;