Files
TurboSu/static/js/components/topbar.js
T

29 lines
969 B
JavaScript

const Topbar = {
_statusEl: null,
init() {
this._statusEl = document.getElementById('connection-status');
WS.on('status', (status) => {
this._statusEl.className = `status-indicator ${status}`;
this._statusEl.querySelector('.status-text').textContent =
status === 'connected' ? '已连接' :
status === 'error' ? '连接错误' : '未连接';
});
setInterval(() => this._refreshStatus(), 5000);
},
async _refreshStatus() {
try {
const status = await API.getStatus();
const wsStatus = status.ws_clients > 0 ? 'connected' : 'disconnected';
this._statusEl.className = `status-indicator ${wsStatus}`;
this._statusEl.querySelector('.status-text').textContent =
wsStatus === 'connected' ? `已连接 (${status.ws_clients})` : '未连接';
} catch (e) {}
}
};
window.Topbar = Topbar;