Adiciona player.html estático, corrige Pure mode e desativa translate no Chromium

---

- Criado `public/player.html` como arquivo estático verdadeiro (servido pelo Next.js sem processamento, equivalente ao nginx), com HLS.js, tentativa direta ao MediaMTX em `:8888`, fallback para proxy, e integração silenciosa com `WebOSServiceBridge` para supressão do screensaver WebOS;
- Pure mode "Run HTML" atualizado para apontar a `/player.html?id={id}` em vez de rota dinâmica; rewrite removido do `next.config.ts`;
- Toggles "Pure mode" e "Open in new tab" no menu do card corrigidos: toggle agora à esquerda e texto à direita, alinhados com os demais itens;
- Adicionado `TranslateEnabled: false` na managed policy do Chromium no `Dockerfile`, solução definitiva para suprimir o popup de tradução do Google;

---
This commit is contained in:
2026-04-27 16:41:39 -03:00
parent 0f17ea4e38
commit e0fd0af02e
4 changed files with 86 additions and 13 deletions
+3 -3
View File
@@ -174,7 +174,7 @@ export function StreamCard({ stream, status, localStatus, cardSize = "md", onRef
function handleRunHtml() {
navigate(prefs.pureMode
? `/player/${stream.id}.html`
? `/player.html?id=${stream.id}`
: `/static/${stream.id}`)
}
@@ -298,12 +298,12 @@ const playBtn = `w-full flex items-center rounded border border-border bg-muted
</button>
<div className="border-t border-border" />
<button onClick={() => togglePref("pureMode")} className={menuItem}>
<span className="flex-1">Pure mode</span>
<Toggle on={prefs.pureMode} />
<span>Pure mode</span>
</button>
<button onClick={() => togglePref("newTab")} className={menuItem}>
<span className="flex-1">Open in new tab</span>
<Toggle on={prefs.newTab} />
<span>Open in new tab</span>
</button>
<div className="border-t border-border" />
<button onClick={remove} className={cn(menuItem, "text-destructive")}>