95 lines
4.2 KiB
HTML
95 lines
4.2 KiB
HTML
<!doctype html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>SHiNE Wallet</title>
|
|
<link rel="stylesheet" href="./popup.css" />
|
|
</head>
|
|
<body class="side-panel-body">
|
|
<main class="layout">
|
|
<section class="panel">
|
|
<div class="panel-header">
|
|
<div>
|
|
<h1>SHiNE Wallet</h1>
|
|
<p class="muted">Session-only wallet plugin</p>
|
|
</div>
|
|
<span id="connection-pill" class="pill pill-offline">не подключено</span>
|
|
</div>
|
|
|
|
<p id="server-login-info" class="muted small">Сервер SHiNE: —</p>
|
|
<p id="server-address" class="muted small">Адрес: —</p>
|
|
|
|
<div id="connect-card" class="card">
|
|
<div class="card-title">Подключение</div>
|
|
<label class="field">
|
|
<span>Логин</span>
|
|
<input id="login-input" type="text" autocomplete="username" />
|
|
</label>
|
|
<label class="checkbox-row">
|
|
<input id="use-password" type="checkbox" />
|
|
<span>Использовать доп. пароль</span>
|
|
</label>
|
|
<label id="password-field" class="field hidden">
|
|
<span>Пароль подключения</span>
|
|
<input id="password-input" type="password" autocomplete="current-password" />
|
|
</label>
|
|
<button id="start-btn" class="btn primary" type="button">Подключить</button>
|
|
</div>
|
|
|
|
<div id="pairing-card" class="card hidden">
|
|
<div class="card-title">Код подключения</div>
|
|
<div id="short-code" class="code">00 00 00 00 00</div>
|
|
<p id="pairing-hint" class="muted small">Покажите код на доверенном устройстве.</p>
|
|
<p id="pairing-expire" class="muted small"></p>
|
|
<div class="actions">
|
|
<button id="cancel-btn" class="btn secondary" type="button">Отменить</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="session-card" class="card hidden">
|
|
<div class="card-title">Подключено</div>
|
|
<div class="summary-row"><span>Логин</span><strong id="session-login">—</strong></div>
|
|
<div class="summary-row"><span>Session</span><code id="session-id">—</code></div>
|
|
<div class="summary-row"><span>Тип</span><strong id="session-type">wallet</strong></div>
|
|
<div class="summary-row"><span>deviceKey</span><code id="device-key-short">—</code></div>
|
|
<div class="actions">
|
|
<button id="resume-btn" class="btn secondary" type="button">Проверить session</button>
|
|
<button id="disconnect-btn" class="btn danger" type="button">Отключить</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="wallet-card" class="card hidden">
|
|
<div class="card-title">Текущий кошелёк ESP32</div>
|
|
<label class="field">
|
|
<span>Homeserver</span>
|
|
<select id="device-select"></select>
|
|
</label>
|
|
<div id="homeserver-list" class="device-list"></div>
|
|
<div class="actions">
|
|
<button id="refresh-devices-btn" class="btn secondary" type="button">Обновить устройства</button>
|
|
<button id="request-wallet-btn" class="btn primary" type="button">Запросить кошелёк</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="wallet-result-card" class="card hidden">
|
|
<div class="card-title">Полученный кошелёк</div>
|
|
<div class="summary-row"><span>Тип</span><strong id="wallet-type">—</strong></div>
|
|
<div class="field">
|
|
<span>Public key</span>
|
|
<code id="wallet-pubkey" class="wallet-pubkey">—</code>
|
|
</div>
|
|
<p id="wallet-verify" class="muted small">—</p>
|
|
<div class="actions">
|
|
<button id="copy-wallet-btn" class="btn secondary" type="button">Копировать ключ</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="status" class="status hidden"></div>
|
|
</section>
|
|
</main>
|
|
|
|
<script type="module" src="./popup.js"></script>
|
|
</body>
|
|
</html>
|