haixunMaster/extension/haixun-threads-sync/popup.js

34 lines
953 B
JavaScript
Raw Permalink Normal View History

2026-06-21 12:50:31 +00:00
const syncBtn = document.getElementById("sync");
const statusEl = document.getElementById("status");
function setStatus(text, isError = false) {
statusEl.textContent = text;
statusEl.style.color = isError ? "#b45309" : "#166534";
}
syncBtn.addEventListener("click", async () => {
syncBtn.disabled = true;
setStatus("同步中…");
try {
const { serverUrl } = await chrome.storage.sync.get(["serverUrl"]);
const response = await chrome.runtime.sendMessage({
action: "sync",
serverUrl,
});
if (response?.valid) {
setStatus(
response.username
? `成功:@${response.username}\n${response.message ?? ""}`
: response.message ?? "同步成功"
);
} else {
setStatus(response?.message ?? "同步失敗", true);
}
} catch (error) {
setStatus(error instanceof Error ? error.message : "同步失敗", true);
} finally {
syncBtn.disabled = false;
}
});