ntdservices commited on
Commit
ade6e08
Β·
verified Β·
1 Parent(s): d81e17a

Update static/embed.js

Browse files
Files changed (1) hide show
  1. static/embed.js +11 -17
static/embed.js CHANGED
@@ -1,4 +1,4 @@
1
- /* embed.js – live U.S.-debt counter */
2
  (() => {
3
  const API = "https://ntdservices-debt-clock.hf.space/api/debt";
4
  const CLS = "ntd-debt-clock";
@@ -35,40 +35,34 @@
35
  position: "relative",
36
  });
37
 
38
- let baseDebt = 0; // dollars at baseTime
39
- let ratePerSec = 0; // dollars / second
40
- let baseTime = Date.now(); // ms clock when we set baseDebt
41
 
42
- /* ── fetch latest figures ───────────────────────── */
43
  async function pull() {
44
  try {
45
  const d = await fetch(API).then(r => r.json());
46
  baseDebt = d.startingDebt;
47
  ratePerSec = d.ratePerSecond;
48
- baseTime = Date.now(); // reset integration point
49
  } catch (err) {
50
  console.error("Debt fetch failed:", err);
51
  }
52
  }
53
 
54
- /* initial fetch + periodic refresh */
55
- pull(); // immediately
56
  setInterval(pull, REFRESH_MS);
57
 
58
- /* ── draw loop (runs each animation frame) ─────── */
59
- function tick() {
60
  const now = Date.now();
61
- const delta = (now - baseTime) / 1000; // seconds elapsed
62
  const debt = baseDebt + ratePerSec * delta;
63
 
64
  el.textContent =
65
- Math.round(debt).toLocaleString("en-US").replace(/,/g, " ");
66
-
67
- requestAnimationFrame(tick);
68
- }
69
- requestAnimationFrame(tick);
70
  }
71
 
72
- /* auto-mount every <div class="ntd-debt-clock"> */
73
  document.querySelectorAll("." + CLS).forEach(mount);
74
  })();
 
1
+ /* embed.js – discrete 4Hz ticking version */
2
  (() => {
3
  const API = "https://ntdservices-debt-clock.hf.space/api/debt";
4
  const CLS = "ntd-debt-clock";
 
35
  position: "relative",
36
  });
37
 
38
+ let baseDebt = 0;
39
+ let ratePerSec = 0;
40
+ let baseTime = Date.now();
41
 
 
42
  async function pull() {
43
  try {
44
  const d = await fetch(API).then(r => r.json());
45
  baseDebt = d.startingDebt;
46
  ratePerSec = d.ratePerSecond;
47
+ baseTime = Date.now();
48
  } catch (err) {
49
  console.error("Debt fetch failed:", err);
50
  }
51
  }
52
 
53
+ pull();
 
54
  setInterval(pull, REFRESH_MS);
55
 
56
+ /* update 4Γ—/sec (every 250ms) */
57
+ setInterval(() => {
58
  const now = Date.now();
59
+ const delta = (now - baseTime) / 1000;
60
  const debt = baseDebt + ratePerSec * delta;
61
 
62
  el.textContent =
63
+ "$" + Math.round(debt).toLocaleString("en-US");
64
+ }, 250);
 
 
 
65
  }
66
 
 
67
  document.querySelectorAll("." + CLS).forEach(mount);
68
  })();