Browse Source

fix-panel-start-unlock-and-drop-counters

master
Serge Shutov 2 weeks ago
parent
commit
cd1e1b3e0c
  1. 2
      content/content.js
  2. 12
      content/panel.js

2
content/content.js

@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
UI.onStop(function () { queue.length = 0; if (UI) UI.log('stopped'); });
UI.onSaveToken(function (v) { chrome.storage.local.set({ 'dshmem-bridge-token': v }, function () { if (UI) UI.log('token saved, reload page'); }); });
}
if (UI) { UI.onStart(function () { if (!canStart) return; started = true; markExistingAsProcessed(); obs.observe(document.documentElement, { childList: true, subtree: true, characterData: true }); UI.setPhase('idle'); UI.setConnected(true); UI.log('started'); }); }
if (UI) { UI.onStart(function () { if (!canStart) { if (UI.setStartEnabled) UI.setStartEnabled(true); return; } started = true; markExistingAsProcessed(); obs.observe(document.documentElement, { childList: true, subtree: true, characterData: true }); UI.setPhase('idle'); UI.setConnected(true); UI.log('started'); }); }
if (!SEL) return;
if (!BRIDGE) return;
if (typeof extractCalls !== "function") return;

12
content/panel.js

@ -32,13 +32,10 @@ @@ -32,13 +32,10 @@
el.body = mk('div', 'dshmem-body');
root.appendChild(head); root.appendChild(el.body);
var row1 = mk('div', 'dshmem-row');
el.start = mk('button', 'dshmem-btn primary', 'Start'); el.reset = mk('button', 'dshmem-btn', 'Reset loops');
el.start = mk('button', 'dshmem-btn primary', 'Start'); el.reset = mk('button', 'dshmem-btn', 'Reset queue');
el.stop = mk('button', 'dshmem-btn danger', 'Stop');
row1.appendChild(el.start); row1.appendChild(el.reset); row1.appendChild(el.stop);
el.body.appendChild(row1);
el.loops = mk('div', 'dshmem-label', 'loops: 0/0');
el.daily = mk('div', 'dshmem-label', 'daily: 0/0');
el.body.appendChild(el.loops); el.body.appendChild(el.daily);
var set = mk('div', 'dshmem-settings');
var lbl = mk('div', 'dshmem-label', 'Token (save, then reload page)');
el.token = mk('input', 'dshmem-input');
@ -65,8 +62,8 @@ @@ -65,8 +62,8 @@
el.toggle.addEventListener('click', function () {
el.body.style.display = el.body.style.display === 'none' ? '' : 'none';
});
el.reset.addEventListener('click', function () { state.resetCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); });
el.stop.addEventListener('click', function () { state.stopCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); el.start.addEventListener('click', function () { el.start.disabled = true; state.startCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); });
el.reset.addEventListener('click', function () { el.start.disabled = false; state.resetCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); });
el.stop.addEventListener('click', function () { el.start.disabled = false; state.stopCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); }); el.start.addEventListener('click', function () { el.start.disabled = true; state.startCbs.forEach(function (cb) { try { cb(); } catch (e) {} }); });
el.save.addEventListener('click', function () { var v = el.token.value || ''; state.saveCbs.forEach(function (cb) { try { cb(v); } catch (e) {} }); });
el.health.addEventListener('click', function () {
try { globalThis.DSH_BRIDGE.health().then(function (r) {
@ -78,6 +75,7 @@ @@ -78,6 +75,7 @@
var API = {
setPhase: function (p) { state.phase = p; if (el.phase) el.phase.textContent = p; },
setConnected: function (b) { state.connected = !!b; if (el.dot) el.dot.className = 'dshmem-dot ' + (b ? 'ok' : 'err'); },
setStartEnabled: function (b) { if (el.start) el.start.disabled = !b; },
log: function (m) {
if (!el.log) return;
var t = new Date().toLocaleTimeString();
@ -85,8 +83,6 @@ @@ -85,8 +83,6 @@
var txt = (line + String.fromCharCode(10) + (el.log.textContent || '')).split(String.fromCharCode(10)).slice(0, LOG_CAP).join(String.fromCharCode(10));
el.log.textContent = txt;
},
setLoops: function (left, max) { state.loopsLeft = left; state.loopsMax = max; if (el.loops) el.loops.textContent = 'loops: ' + left + '/' + max; },
setDaily: function (c, m) { state.dailyCount = c; state.dailyMax = m; if (el.daily) el.daily.textContent = 'daily: ' + c + '/' + m; },
onResetLoops: function (cb) { state.resetCbs.push(cb); },
onStop: function (cb) { state.stopCbs.push(cb); }, onStart: function (cb) { state.startCbs.push(cb); },
onSaveToken: function (cb) { state.saveCbs.push(cb); },

Loading…
Cancel
Save