[object Object]

← back to Resume Queue Viewer

Add manual Refresh button with reload toast

37e11522806de3129f9ea215567ebed0788ab355 · 2026-05-18 20:08:17 -0700 · SteveStudio2

Files touched

Diff

commit 37e11522806de3129f9ea215567ebed0788ab355
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Mon May 18 20:08:17 2026 -0700

    Add manual Refresh button with reload toast
---
 server.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/server.js b/server.js
index 624a02a..dfb3c7e 100644
--- a/server.js
+++ b/server.js
@@ -230,6 +230,7 @@ const PAGE = `<!doctype html>
   <button data-f="recap">Recaps<span class="ct" data-ct="recap"></span></button>
   <button data-f="win">Wins<span class="ct" data-ct="win"></span></button>
   <input type="search" id="q" placeholder="search…" autocomplete="off">
+  <button id="refresh" title="Reload CNCP data now">↻ Refresh</button>
   <span class="grow"></span>
   <label>Sort</label>
   <select id="sort">
@@ -349,14 +350,18 @@ function setFilter(f){ filter=f; localStorage.setItem('rq.filter',f);
   document.querySelectorAll('.bar button').forEach(b=>b.classList.toggle('on',b.dataset.f===f));
   render(); }
 
-async function load() {
+async function load(manual) {
   try {
     const r = await fetch('/api/queue'); DATA = await r.json();
     const c = DATA.counts;
     document.getElementById('sub').textContent =
       c.parking+' parking-lot · '+c.recaps+' recaps · '+c.wins+' wins — auto-refreshes every 30s';
     render();
-  } catch(e){ document.getElementById('sub').textContent = 'failed to load CNCP data'; }
+    if (manual) toast('Refreshed — '+(c.parking+c.recaps+c.wins)+' items');
+  } catch(e){
+    document.getElementById('sub').textContent = 'failed to load CNCP data';
+    if (manual) toast('Refresh failed: '+e.message, true);
+  }
 }
 
 document.querySelectorAll('.bar button').forEach(b=>b.onclick=()=>setFilter(b.dataset.f));
@@ -370,6 +375,7 @@ document.getElementById('grid').addEventListener('click', e => {
   if (done) return markDone(+done.dataset.idx, done);
 });
 document.getElementById('q').addEventListener('input', e => { query = e.target.value; render(); });
+document.getElementById('refresh').onclick = () => load(true);
 
 document.getElementById('sort').value = sort;
 document.getElementById('dens').value = dens;

← 3609a67 404 unknown routes instead of serving the page on every URL  ·  back to Resume Queue Viewer  ·  Broaden .gitignore to cover snapshot/backup/editor cruft 132ee9c →