@bobfrankston/rmfmail 1.1.83 → 1.1.85

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.
package/client/app.js CHANGED
@@ -1427,12 +1427,25 @@ document.getElementById("btn-delete")?.addEventListener("click", deleteSelection
1427
1427
  document.getElementById("btn-tb-delete")?.addEventListener("click", deleteSelection);
1428
1428
  document.getElementById("btn-tb-spam")?.addEventListener("click", spamSelectedMessages);
1429
1429
  // ── Flag toggle ──
1430
+ /** Sync the toolbar Flag button (glyph + gold colour) to the viewed
1431
+ * message's flagged state, so it mirrors the message-list row star. */
1432
+ function updateFlagButton() {
1433
+ const btn = document.getElementById("btn-flag");
1434
+ if (!btn)
1435
+ return;
1436
+ const sel = getCurrentFocused();
1437
+ const yes = !!sel && flaggedOf(sel);
1438
+ btn.classList.toggle("flagged", yes);
1439
+ btn.textContent = yes ? "★" : "☆";
1440
+ }
1441
+ document.addEventListener("mailx-message-shown", updateFlagButton);
1430
1442
  document.getElementById("btn-flag")?.addEventListener("click", async () => {
1431
1443
  const sel = getCurrentFocused();
1432
1444
  if (!sel)
1433
1445
  return;
1434
1446
  const wasFlagged = flaggedOf(sel);
1435
1447
  setFlagged(sel, !wasFlagged);
1448
+ updateFlagButton();
1436
1449
  try {
1437
1450
  await updateFlags(sel.accountId, sel.uid, sel.flags);
1438
1451
  messageState.updateMessageFlags(sel.accountId, sel.uid, sel.flags);
@@ -1443,6 +1456,7 @@ document.getElementById("btn-flag")?.addEventListener("click", async () => {
1443
1456
  catch (e) {
1444
1457
  // Revert local state on failure so visual + data stay consistent.
1445
1458
  setFlagged(sel, wasFlagged);
1459
+ updateFlagButton();
1446
1460
  console.error(`Flag toggle failed: ${e.message}`);
1447
1461
  }
1448
1462
  });