// ── Settings Page ── registerPage('settings', { init() { const slider = document.getElementById('settingPageWidth'); const display = document.getElementById('settingPageWidthValue'); const toolCallSelect = document.getElementById('settingToolCallDisplay'); const chainMetaSelect = document.getElementById('settingChainMetaDisplay'); const showDeletedToggle = document.getElementById('settingShowDeletedMessages'); const resetBtn = document.getElementById('settingsResetBtn'); const backupSection = document.getElementById('settingsBackupSection'); // Backup nur für Admins if (currentUser && currentUser.isAdmin) { backupSection.hidden = false; } const s = loadSettings(); slider.value = s.pageWidth; display.textContent = s.pageWidth + 'px'; toolCallSelect.value = s.toolCallDisplay; chainMetaSelect.value = s.chainMetaDisplay; showDeletedToggle.checked = s.showDeletedMessages; slider.addEventListener('input', () => { display.textContent = slider.value + 'px'; }); slider.addEventListener('change', () => { var s = loadSettings(); s.pageWidth = parseInt(slider.value, 10); saveSettings(s); }); toolCallSelect.addEventListener('change', () => { var s = loadSettings(); s.toolCallDisplay = toolCallSelect.value; saveSettings(s); }); chainMetaSelect.addEventListener('change', () => { var s = loadSettings(); s.chainMetaDisplay = chainMetaSelect.value; saveSettings(s); }); showDeletedToggle.addEventListener('change', () => { var s = loadSettings(); s.showDeletedMessages = showDeletedToggle.checked; saveSettings(s); }); const backupBtn = document.getElementById('settingsBackupBtn'); if (backupBtn) backupBtn.addEventListener('click', () => withButtonLoading(backupBtn, 'Wird erstellt...', async () => { try { await apiBackupDb(); } catch (e) { console.error('Backup fehlgeschlagen:', e); } })); resetBtn.addEventListener('click', async () => { if (!confirm('Alle Einstellungen auf Standard zurücksetzen?')) return; await saveSettings(Object.assign({}, SETTINGS_DEFAULTS)); // Update UI slider.value = SETTINGS_DEFAULTS.pageWidth; display.textContent = SETTINGS_DEFAULTS.pageWidth + 'px'; toolCallSelect.value = SETTINGS_DEFAULTS.toolCallDisplay; chainMetaSelect.value = SETTINGS_DEFAULTS.chainMetaDisplay; showDeletedToggle.checked = SETTINGS_DEFAULTS.showDeletedMessages; }); }, destroy() {} });