// static/js/ui-connect.js – Connect- & Reconnect-Logik function initConnect() { const connectBtn = document.getElementById('connect-btn'); const reconnectBtn = document.getElementById('reconnect-btn'); if (connectBtn) { connectBtn.addEventListener('click', async () => { connectBtn.disabled = true; connectBtn.innerHTML = ' Verbinde...'; try { console.log("→ Sende /api/connect ..."); const res = await fetch('/api/connect', { method: 'POST', headers: { 'Content-Type': 'application/json' } }); const data = await res.json(); if (data.success) { document.getElementById('connect-section').style.display = 'none'; document.getElementById('control-section').style.display = 'block'; document.getElementById('reconnect-section').style.display = 'none'; updateStatus(true); startConnectionCheck(); renderChannels(); console.log("→ Verbunden"); } else { alert('Verbindungsfehler: ' + (data.message || 'Unbekannt')); updateStatus(false); } } catch (err) { console.error("Connect-Fehler:", err); alert('Netzwerkfehler'); updateStatus(false); } finally { connectBtn.disabled = false; connectBtn.innerHTML = ' Mit Hub verbinden'; } }); } if (reconnectBtn) { reconnectBtn.addEventListener('click', async () => { reconnectBtn.disabled = true; reconnectBtn.innerHTML = ' Verbinde...'; try { const res = await fetch('/api/reconnect', { method: 'POST', headers: { 'Content-Type': 'application/json' } }); const data = await res.json(); if (data.success) { document.getElementById('reconnect-section').style.display = 'none'; document.getElementById('control-section').style.display = 'block'; updateStatus(true); startConnectionCheck(); alert('Verbindung wiederhergestellt!'); } else { alert('Re-Connect fehlgeschlagen: ' + (data.message || 'Unbekannt')); } } catch (err) { console.error("Reconnect-Fehler:", err); alert('Netzwerkfehler'); } finally { reconnectBtn.disabled = false; reconnectBtn.innerHTML = ' Erneut verbinden'; } }); } } window.initConnect = initConnect;