fix(web-clipper): bouton rond transparent draggable + toggle affichage + refresh auto sidebar + fix bloc bookmark (v6.2.1)
- bouton flottant rond (44px), semi-transparent blur, hover plus fonce, deplacable souris (pos persistee storage) - option afficher/cacher dans popup extension (showButton) - clipper: notification instantanee des onglets FlowDeck via tabs.sendMessage + polling 15s + BroadcastChannel + visibilitychange - fix bookmark template literal '+title+' -> \/\/\/\/\ (_page_editor_scripts.html) - sync static/extension + zip
This commit is contained in:
+20
-1
@@ -5,19 +5,36 @@ async function load() {
|
||||
const cfg = await chrome.runtime.sendMessage({ action: "getConfig" });
|
||||
$("serverUrl").value = cfg.serverUrl || "http://localhost:8080";
|
||||
$("token").value = cfg.token || "";
|
||||
const sb = $("showButton");
|
||||
if (sb) sb.checked = cfg.showButton !== false;
|
||||
}
|
||||
|
||||
async function save() {
|
||||
const serverUrl = $("serverUrl").value.trim() || "http://localhost:8080";
|
||||
const token = $("token").value.trim();
|
||||
// deviceId preserved
|
||||
const showButton = $("showButton") ? $("showButton").checked : true;
|
||||
const cfg = await chrome.runtime.sendMessage({ action: "getConfig" });
|
||||
cfg.serverUrl = serverUrl.replace(/\/$/, "");
|
||||
cfg.token = token;
|
||||
cfg.showButton = showButton;
|
||||
await chrome.runtime.sendMessage({ action: "setConfig", config: cfg });
|
||||
show("Saved ✓", "ok");
|
||||
}
|
||||
|
||||
async function toggleButton(show) {
|
||||
const cfg = await chrome.runtime.sendMessage({ action: "getConfig" });
|
||||
cfg.showButton = show;
|
||||
await chrome.runtime.sendMessage({ action: "setConfig", config: cfg });
|
||||
// Notify all tabs immediately for instant UX
|
||||
try {
|
||||
const tabs = await chrome.tabs.query({});
|
||||
for (const t of tabs) {
|
||||
if (!t.id) continue;
|
||||
chrome.tabs.sendMessage(t.id, { action: "toggleButton", show }).catch(() => {});
|
||||
}
|
||||
} catch (_e) {}
|
||||
}
|
||||
|
||||
async function verify() {
|
||||
await save();
|
||||
const res = await chrome.runtime.sendMessage({ action: "auth" });
|
||||
@@ -72,5 +89,7 @@ $("clipBookmark").addEventListener("click", () => doClip("bookmark"));
|
||||
$("clipSelection").addEventListener("click", () => doClip("selection"));
|
||||
$("openFlowDeck").addEventListener("click", (e) => { e.preventDefault(); chrome.tabs.create({ url: $("serverUrl").value || "http://localhost:8080" }); });
|
||||
$("openExtensions").addEventListener("click", (e) => { e.preventDefault(); chrome.tabs.create({ url: ($("serverUrl").value || "http://localhost:8080") + "/extensions" }); });
|
||||
const _sb = $("showButton");
|
||||
if (_sb) _sb.addEventListener("change", (e) => toggleButton(e.target.checked));
|
||||
|
||||
load();
|
||||
|
||||
Reference in New Issue
Block a user