Add extension pause toggle

This commit is contained in:
2026-04-07 19:12:08 +02:00
parent b2647bdeab
commit ad673f29ad
4 changed files with 96 additions and 4 deletions

View File

@@ -1,6 +1,8 @@
const profileSelect = document.getElementById('profileSelect');
const statusEl = document.getElementById('status');
const debugToggle = document.getElementById('debugLoggingToggle');
const pauseBtn = document.getElementById('pauseBtn');
let extensionPaused = false;
function isValidProfileNumber(value) {
return Number.isInteger(value) && value >= 1 && value <= 5;
@@ -63,6 +65,13 @@ function updateStatus(message, saved = false) {
statusEl.className = saved ? 'status saved' : 'status';
}
function updatePauseButton() {
if (!pauseBtn) {
return;
}
pauseBtn.textContent = extensionPaused ? 'Extension fortsetzen' : 'Extension pausieren';
}
async function initProfileSelect() {
const backendProfile = await fetchProfileState();
if (isValidProfileNumber(backendProfile)) {
@@ -100,6 +109,11 @@ if (debugToggle) {
});
}
chrome.storage.sync.get(['extensionPaused'], (result) => {
extensionPaused = Boolean(result && result.extensionPaused);
updatePauseButton();
});
function reloadFacebookTabs() {
chrome.tabs.query({ url: ['https://www.facebook.com/*', 'https://facebook.com/*'] }, (tabs) => {
tabs.forEach(tab => {
@@ -125,3 +139,14 @@ document.getElementById('saveBtn').addEventListener('click', async () => {
document.getElementById('webInterfaceBtn').addEventListener('click', () => {
chrome.tabs.create({ url: API_BASE_URL });
});
if (pauseBtn) {
pauseBtn.addEventListener('click', () => {
const nextPaused = !extensionPaused;
chrome.storage.sync.set({ extensionPaused: nextPaused }, () => {
extensionPaused = nextPaused;
updatePauseButton();
updateStatus(`Extension ${nextPaused ? 'pausiert' : 'fortgesetzt'} (wirksam ohne Reload)`, true);
});
});
}