SHA256
ESP32 wallet RPC, browser wallet provider, and side panel
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<title>SHiNE Wallet</title>
|
||||
<link rel="stylesheet" href="./popup.css" />
|
||||
</head>
|
||||
<body>
|
||||
<body class="side-panel-body">
|
||||
<main class="layout">
|
||||
<section class="panel">
|
||||
<div class="panel-header">
|
||||
@@ -14,49 +14,14 @@
|
||||
<h1>SHiNE Wallet</h1>
|
||||
<p class="muted">Session-only wallet plugin</p>
|
||||
</div>
|
||||
<span id="connection-pill" class="pill pill-offline">offline</span>
|
||||
<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="session-card" class="card hidden">
|
||||
<div class="card-title">Подключённая wallet-session</div>
|
||||
<div class="summary-row"><span>Логин</span><strong id="session-login">—</strong></div>
|
||||
<div class="summary-row"><span>Session ID</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="refresh-devices-btn" class="btn secondary" type="button">Обновить устройства</button>
|
||||
<button id="disconnect-btn" class="btn danger" type="button">Отключить</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="signing-card" class="card hidden">
|
||||
<div class="card-title">Подготовка подписи</div>
|
||||
<label class="field">
|
||||
<span>Ключ подписи</span>
|
||||
<select id="sign-key-select"></select>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>Устройство homeserver</span>
|
||||
<select id="device-select"></select>
|
||||
</label>
|
||||
<div id="homeserver-list" class="device-list"></div>
|
||||
<p class="muted small">
|
||||
Для выбора доступны homeserver-сессии, опубликованные в PDA аккаунта. Online-статус определяется без постоянного удержания соединения.
|
||||
</p>
|
||||
<div class="actions">
|
||||
<button id="prepare-sign-btn" class="btn primary" type="button">Запросить подпись</button>
|
||||
</div>
|
||||
<p class="muted small">
|
||||
Сам signaling подтверждения подписи ещё не доделан. Сейчас доступен только каркас выбора ключа и устройства.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">Войти через другое устройство</div>
|
||||
<div id="connect-card" class="card">
|
||||
<div class="card-title">Подключение</div>
|
||||
<label class="field">
|
||||
<span>Логин</span>
|
||||
<input id="login-input" type="text" autocomplete="username" />
|
||||
@@ -69,29 +34,61 @@
|
||||
<span>Пароль подключения</span>
|
||||
<input id="password-input" type="password" autocomplete="current-password" />
|
||||
</label>
|
||||
<button id="start-btn" class="btn primary" type="button">Получить код</button>
|
||||
<p class="muted small">
|
||||
Wallet plugin создаёт временный requester keypair, ждёт подтверждение на доверенном устройстве
|
||||
и получает только wallet-session без передачи постоянных ключей.
|
||||
</p>
|
||||
<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-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>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user