From ea8003e2139f4a08c90d3b4082c1786e1bd54d8f Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Wed, 18 Feb 2026 20:52:11 +0000 Subject: [PATCH] fix(ui): remove theme selector from suite layout and projector --- ui/suite/chat/projector.html | 2377 +++++++++++++++++----------------- ui/suite/default.gbui | 5 +- 2 files changed, 1189 insertions(+), 1193 deletions(-) diff --git a/ui/suite/chat/projector.html b/ui/suite/chat/projector.html index e122801..3e406af 100644 --- a/ui/suite/chat/projector.html +++ b/ui/suite/chat/projector.html @@ -48,17 +48,15 @@ ⏩
- + 0:00 / 0:00
- + @@ -82,8 +80,7 @@ ▢️
- +
- + @@ -141,827 +133,834 @@ + + // Helper Functions + function escapeHtml(text) { + const div = document.createElement('div'); + div.textContent = text; + return div.innerHTML; + } + + function parseMarkdown(text) { + // Simple markdown parsing - use marked.js for full support + return text + .replace(/^### (.*$)/gim, '

$1

') + .replace(/^## (.*$)/gim, '

$1

') + .replace(/^# (.*$)/gim, '

$1

') + .replace(/\*\*(.*)\*\*/gim, '$1') + .replace(/\*(.*)\*/gim, '$1') + .replace(/`([^`]+)`/gim, '$1') + .replace(/\n/gim, '
'); + } + + // Listen for play messages from WebSocket + if (window.htmx) { + htmx.on('htmx:wsMessage', function (event) { + try { + const data = JSON.parse(event.detail.message); + if (data.type === 'play') { + openProjector(data.data); + } else if (data.type === 'player_command') { + switch (data.command) { + case 'stop': + closeProjector(); + break; + case 'pause': + const media = getMediaElement(); + if (media) media.pause(); + break; + case 'resume': + const mediaR = getMediaElement(); + if (mediaR) mediaR.play(); + break; + } + } + } catch (e) { + // Not a projector message + } + }); + } + \ No newline at end of file diff --git a/ui/suite/default.gbui b/ui/suite/default.gbui index 0a426fb..0cb5986 100644 --- a/ui/suite/default.gbui +++ b/ui/suite/default.gbui @@ -51,10 +51,7 @@
-
+