v1.2 — дизайн как Nubes ipwhitelist

This commit is contained in:
2026-06-01 23:27:17 +03:00
parent b55390acc3
commit a7bf69a396
2 changed files with 85 additions and 94 deletions
+35 -31
View File
@@ -9,44 +9,48 @@
</head>
<body>
<div id="app">
<div id="main">
<header class="topbar">
<a href="/" class="topbar-logo"><img src="/nubes-logo.svg" alt="Nubes" width="100"></a>
<span class="topbar-sep">|</span>
<span class="topbar-title">Say <span id="ver">v1.0</span></span>
<span class="topbar-right">Голосовой ассистент</span>
</header>
<header style="background:#fff;border-bottom:1px solid var(--border);padding:0 1.5rem;height:48px;display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted);">
<img src="/nubes-logo.svg" alt="Nubes" width="130" height="28" style="display:block;">
<span style="color:var(--border);">|</span>
<b style="color:var(--text);">Say</b>
<span id="ver" style="margin-left:4px;"></span>
<span style="margin-left:auto;">Голосовой ассистент</span>
</header>
<div id="models">
<span class="model-tag">🤖 GPT-OSS-120B</span>
<span class="model-tag">🎤 Whisper-v3-Turbo</span>
</div>
<div id="visualizer">
<canvas id="meter" width="300" height="60"></canvas>
</div>
<div id="controls">
<button id="btnRecord">🎙 Записать</button>
<button id="btnPlay" disabled>▶ Прослушать</button>
<button id="btnReset">🗑 Сброс</button>
<button id="btnTheme" title="День/Ночь">🌙</button>
</div>
<div id="status"></div>
<div class="card">
<div id="chat"></div>
<div class="page">
<div class="main">
<div class="card">
<div class="card-header">Управление</div>
<div class="card-body">
<div style="display:flex;gap:8px;margin-bottom:8px;">
<span class="tag">🤖 GPT-OSS-120B</span>
<span class="tag">🎤 Whisper-v3-Turbo</span>
</div>
<canvas id="meter" width="400" height="60" style="width:100%;border-radius:6px;background:var(--grey-light);margin-bottom:8px;"></canvas>
<div style="display:flex;gap:.5rem;align-items:center;">
<button id="btnRecord" class="btn btn-primary">🎙 Записать</button>
<button id="btnPlay" class="btn" disabled>▶ Прослушать</button>
<button id="btnReset" class="btn">🗑 Сброс</button>
<button id="btnTheme" class="btn">🌙</button>
</div>
<div id="status" class="status"></div>
</div>
</div>
<div id="sidebar">
<div id="history-title">История</div>
<div id="history-list"></div>
<div class="card">
<div class="card-header">Диалог</div>
<div class="card-body" id="chat" style="min-height:200px;max-height:380px;overflow-y:auto;"></div>
</div>
</div>
<div class="side">
<div class="card">
<div class="card-header">История</div>
<div class="card-body" id="history-list"></div>
</div>
</div>
</div>
<script>
const VERSION = 'v1.1';
document.getElementById('ver').textContent = VERSION;