@bobfrankston/rmfmail 1.1.158 → 1.1.160

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
@@ -3775,12 +3775,18 @@ function applyThreadFilter() {
3775
3775
  reset();
3776
3776
  return;
3777
3777
  }
3778
- // Armed — show spinner, fire sync, clear when complete.
3778
+ // Armed — fire the sync and hide the indicator immediately. No
3779
+ // "Refreshing..." banner: the bottom-bar `#status-sync` already
3780
+ // shows sync progress ("Syncing gmail: sync:INBOX 0/0"), so a
3781
+ // second top-banner is duplicate UI taking space (Bob 2026-05-26
3782
+ // "drop refreshing since there is already syncing"). Briefly
3783
+ // tint the status text so the user knows their gesture fired.
3779
3784
  refreshing = true;
3780
- indicator.classList.remove("armed", "dragging");
3781
- indicator.classList.add("refreshing");
3782
- indicator.style.transform = `translateY(calc(-100% + 60px))`;
3783
- labelEl.textContent = "Refreshing...";
3785
+ reset();
3786
+ const statusSync = document.getElementById("status-sync");
3787
+ const prevColor = statusSync?.style.color || "";
3788
+ if (statusSync)
3789
+ statusSync.style.color = "var(--color-brand-dark, #2563eb)";
3784
3790
  try {
3785
3791
  const { triggerSync } = await import("./lib/api-client.js");
3786
3792
  await triggerSync();
@@ -3788,9 +3794,9 @@ function applyThreadFilter() {
3788
3794
  catch (e) {
3789
3795
  console.error("pull-to-refresh failed:", e?.message || e);
3790
3796
  }
3797
+ if (statusSync)
3798
+ statusSync.style.color = prevColor;
3791
3799
  refreshing = false;
3792
- indicator.classList.remove("refreshing");
3793
- reset();
3794
3800
  };
3795
3801
  mlBody.addEventListener("touchend", () => { finish(); }, { passive: true });
3796
3802
  mlBody.addEventListener("touchcancel", () => { active = false; reset(); }, { passive: true });