diff --git a/src/App.ts b/src/App.ts index 4904313..6b13ba8 100644 --- a/src/App.ts +++ b/src/App.ts @@ -74,16 +74,39 @@ export class App { firstRun = false; peerManager: PeerManager | null = null; sync: Sync = new Sync(); - renderTimer: number = 0; + renderTimer: ReturnType|null = null; syncQueues: Map = new Map(); syncing: Set = new Set(); + updateStatusBar() { + return; + + // let statusBarElement = document.getElementById('status_bar'); + + // if (!statusBarElement) { + // return; + // } + + // let newStatusBar = ""; + + + // for (let [userID, syncItems] of this.syncQueues.entries()) { + // let statusBarItem = `${userID} - ${syncItems.length}`; + + // newStatusBar+= statusBarItem; + // } + + // statusBarElement.innerHTML = newStatusBar; + } + async processSyncQueue(userID: string) { if (this.syncing.has(userID)) { return; } + this.updateStatusBar(); + let syncQueue = this.syncQueues.get(userID) as SyncItem[]; while (syncQueue.length !== 0) { @@ -110,6 +133,8 @@ export class App { } this.syncing.delete(userID); + + this.updateStatusBar(); } addPostIDsToSyncQueue(userID: string, peerID: string, postIDs: string[]) { diff --git a/src/PeerManager.ts b/src/PeerManager.ts index e203939..e126a90 100644 --- a/src/PeerManager.ts +++ b/src/PeerManager.ts @@ -42,7 +42,7 @@ export class PeerManager { eventListeners: Map = new Map(); reconnectPeriod: number = 10; messageSuperlog = false; - watchdogInterval: number = 0; + watchdogInterval: ReturnType |null = null; reconnectTimer: number | null = null; peerStateSuperlog: boolean = false; @@ -586,7 +586,7 @@ class PeerConnection { this.peerManager.disconnectFromPeer(this.remotePeerID); } - this.dataChannel.onerror = (e: RTCErrorEvent) => { + this.dataChannel.onerror = (e: RTCErrorEvent) => { this.dataChannelSuperlog && console.log.apply(null, log(`datachannel from peer ${this.remotePeerID} error:`, e.error)); } } diff --git a/static/index.html b/static/index.html index c6bea6a..582d039 100644 --- a/static/index.html +++ b/static/index.html @@ -42,6 +42,8 @@ +
+
@@ -79,8 +81,6 @@ - -
diff --git a/static/main.css b/static/main.css index a74cb8d..7571c3c 100644 --- a/static/main.css +++ b/static/main.css @@ -326,6 +326,11 @@ iframe { border-radius: 50%; } +.small { + width: 24px; + height: 24px; +} + .profile-pic-container img { width: 100%; height: 100%; @@ -355,4 +360,34 @@ iframe { .compose-button:hover { background-color: rgb(87, 87, 255); +} + +.status-bar { + align-content: center; +} + +.spinner { + display: inline-block; + animation-name: spin; + animation-duration: 2000ms; + animation-iteration-count: infinite; + animation-timing-function: linear; + /* font-size: 64px; */ +} + +@keyframes spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: reduce) { + .spinner { + animation: none; + transform: none; + } } \ No newline at end of file