fix(panel-v3): detección de puerto, botones y limpieza de warnings
- oasis_running() usa ss en lugar de pgrep (evita falsos positivos) - _start_oasis() lanza oasis.sh en background y espera el puerto - INSTALAR se deshabilita cuando OASIS ya está instalado/activo - Corrige DeprecationWarning: override_background_color → CssProvider - Corrige DeprecationWarning: run_javascript → evaluate_javascript - Desactiva caché de WebKit, carga por URI directa - Inspector de WebKit activado para depuración Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ae79e45c19
commit
67acbf1add
17 changed files with 2692 additions and 0 deletions
102
INSTALLER_V3/ui/index.html
Normal file
102
INSTALLER_V3/ui/index.html
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>OASIS</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- HEADER -->
|
||||
<header>
|
||||
<div class="header-left">
|
||||
<img src="../oasis-logo.png" class="logo" alt="OASIS">
|
||||
<div class="header-titles">
|
||||
<span class="app-title">OASIS</span>
|
||||
<span class="app-sub">SOLAR NET HUB PANEL</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="status-dot" id="globalDot" data-state="unknown">●</div>
|
||||
</header>
|
||||
|
||||
<!-- TABS -->
|
||||
<nav class="tabbar">
|
||||
<button class="tabBtn active" data-tab="oasis" onclick="switchTab('oasis')">OASIS</button>
|
||||
<button class="tabBtn" data-tab="ecoin" onclick="switchTab('ecoin')">ECOIN</button>
|
||||
<button class="tabBtn" data-tab="sistema" onclick="switchTab('sistema')">SISTEMA</button>
|
||||
</nav>
|
||||
|
||||
<!-- CONTENIDO -->
|
||||
<main>
|
||||
|
||||
<!-- ── OASIS ── -->
|
||||
<section class="tab-panel active" id="tab-oasis">
|
||||
|
||||
<div class="status-card" id="oasisCard" data-state="unknown">
|
||||
<div class="card-stripe"></div>
|
||||
<div class="card-body">
|
||||
<div class="card-state" id="oasisState">COMPROBANDO</div>
|
||||
<div class="card-sub" id="oasisSub">iniciando...</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<div class="action-row">
|
||||
<button class="btn primary" id="btnStart" onclick="send('oasis-start')" disabled>▶ INICIAR</button>
|
||||
<button class="btn" id="btnStop" onclick="send('oasis-stop')" disabled>■ DETENER</button>
|
||||
</div>
|
||||
<div class="action-row">
|
||||
<button class="btn" id="btnInstall" onclick="send('oasis-install')">⬇ INSTALAR</button>
|
||||
<button class="btn" id="btnBrowser" onclick="send('oasis-browser')" disabled>◎ ABRIR WEB</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="infobox">
|
||||
<div class="info-row"><span class="ik">VERSION</span><span class="iv" id="iVer">—</span></div>
|
||||
<div class="info-row"><span class="ik">NODE.JS</span><span class="iv" id="iNode">—</span></div>
|
||||
<div class="info-row"><span class="ik">RUTA</span> <span class="iv" id="iDir">—</span></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ── ECOIN ── -->
|
||||
<section class="tab-panel" id="tab-ecoin">
|
||||
|
||||
<div class="status-card" id="ecoinCard" data-state="unknown">
|
||||
<div class="card-stripe"></div>
|
||||
<div class="card-body">
|
||||
<div class="card-state" id="ecoinState">COMPROBANDO</div>
|
||||
<div class="card-sub" id="ecoinSub">iniciando...</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<div class="action-row">
|
||||
<button class="btn primary" id="btnEInstall" onclick="send('ecoin-install')">⬇ INSTALAR</button>
|
||||
<button class="btn" id="btnEGui" onclick="send('ecoin-gui')" disabled>◈ ABRIR GUI</button>
|
||||
</div>
|
||||
<div class="action-row">
|
||||
<button class="btn" id="btnEWallet" onclick="send('ecoin-wallet')" disabled>✦ CREAR WALLET</button>
|
||||
<button class="btn" id="btnEConnect" onclick="send('ecoin-connect')" disabled>⟳ CONECTAR</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="infobox">
|
||||
<div class="info-row"><span class="ik">WALLET</span> <span class="iv" id="eWallet">—</span></div>
|
||||
<div class="info-row"><span class="ik">ECOIN-QT</span><span class="iv" id="eQt">—</span></div>
|
||||
<div class="info-row"><span class="ik">ECOIND</span> <span class="iv" id="eDaemon">—</span></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ── SISTEMA ── -->
|
||||
<section class="tab-panel" id="tab-sistema">
|
||||
<div class="log-header">LOG DE ACTIVIDAD</div>
|
||||
<div class="log-area" id="logArea"></div>
|
||||
<button class="btn btn-clear" onclick="clearLog()">LIMPIAR LOG</button>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue