@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/.commitmsg +11 -4
- package/client/app.bundle.js +11 -0
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +14 -0
- package/client/app.js.map +1 -1
- package/client/app.ts +14 -0
- package/client/components/message-list.js.map +1 -1
- package/client/components/message-list.ts +1 -0
- package/client/styles/components.css +8 -2
- package/client/styles/variables.css +4 -0
- package/npmchanges.md +17 -0
- package/package.json +1 -1
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-85900 → node_modules.npmglobalize-stash-87012}/.package-lock.json +0 -0
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
|
});
|