-
-
@@ -1349,6 +1362,16 @@ $('btn-copy-share').addEventListener('click', async () => {
const c = new URLSearchParams(location.search).get('code');
if (c) $('rdv-code').value = c;
}
+
+/* game-tabs: click a button → swap iframe src + mark active. data-src is
+ * the only source of truth so new games just need a button. */
+$('game-tabs').addEventListener('click', (ev) => {
+ const b = ev.target.closest('button[data-src]');
+ if (!b) return;
+ const frame = $('game-frame');
+ if (frame.src !== b.dataset.src) frame.src = b.dataset.src;
+ for (const el of $('game-tabs').querySelectorAll('button')) el.classList.toggle('active', el === b);
+});
$('btn-leave').addEventListener('click', async () => {
wantConnected = false;
if (sigReconnect){ clearTimeout(sigReconnect); sigReconnect = null; }
@@ -1377,8 +1400,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');