Migra preferências para config global e adiciona auto-reload no player client side

---

- Extraído `Toggle` para componente compartilhado em `src/components/Toggle.tsx`;
- Preferências "Pure mode" e "Open in new tab" migradas de por-card (localStorage por stream) para configuração global (`global-prefs` no localStorage), refletidas em todos os cards simultaneamente;
- Adicionada seção "Player" no Settings com toggle "Auto-reload" e campo de intervalo em minutos; configuração lida pelo `player.html`, `/static/{id}` e `/player/{id}?mode=hls` para cobrir todos os modos de reprodução;
- Header simplificado: apenas 3 botões com ícone (Refresh, Settings, New Stream); botões de Download playlist e Sign out movidos para dentro do painel de Settings;

---
This commit is contained in:
2026-04-27 17:56:10 -03:00
parent e0fd0af02e
commit 6315cd1312
8 changed files with 172 additions and 66 deletions
+8
View File
@@ -59,6 +59,14 @@
.then(function(){load(directUrl);})
.catch(function(){load(proxyUrl);});
// Auto-reload — reads global-prefs written by the main UI
try {
var gp=JSON.parse(localStorage.getItem('global-prefs')||'{}');
if(gp.autoReload){
setTimeout(function(){location.reload();},Math.max(1,gp.reloadInterval||2)*60*1000);
}
}catch(e){}
// WebOS screensaver suppression — fails silently if not available
if(typeof WebOSServiceBridge!=='undefined'){
var bridge=new WebOSServiceBridge();