75 lines
3.2 KiB
HTML
75 lines
3.2 KiB
HTML
<!doctype html>
|
|
<html lang="en" data-theme="dark">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="referrer" content="no-referrer">
|
|
<title>ActivePush / Control room</title>
|
|
<link rel="icon" href="/favicon.svg">
|
|
<link rel="stylesheet" href="/style.css">
|
|
<script defer src="/app.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="app-loading" id="loading"><div><div class="spinner"></div>ACTIVEPUSH</div></div>
|
|
|
|
<div class="auth-page" id="auth" hidden>
|
|
<div class="card auth-card">
|
|
<div class="brand"><span class="brand-mark">a<span>/</span>p</span><span>ActivePush</span></div>
|
|
<div class="small-label" id="auth-eyebrow">ADMINISTRATION</div>
|
|
<h1 id="auth-title">Sign in</h1>
|
|
<form id="auth-form" autocomplete="on">
|
|
<div id="setup-fields" hidden>
|
|
<p class="fine" id="setup-help"></p>
|
|
<code class="command">sudo -u active-push active-push admin setup-token</code>
|
|
<label for="setup-token" id="lbl-token">Setup token</label>
|
|
<input id="setup-token" autocomplete="off" spellcheck="false" maxlength="64">
|
|
</div>
|
|
<div>
|
|
<label for="username" id="lbl-user">Username</label>
|
|
<input id="username" autocomplete="username" autocapitalize="none" spellcheck="false" maxlength="64" required>
|
|
</div>
|
|
<div>
|
|
<label for="password" id="lbl-pass">Password</label>
|
|
<input id="password" type="password" autocomplete="current-password" maxlength="256" required>
|
|
</div>
|
|
<div id="confirm-wrap" hidden>
|
|
<label for="password2" id="lbl-pass2">Repeat password</label>
|
|
<input id="password2" type="password" autocomplete="new-password" maxlength="256">
|
|
</div>
|
|
<button class="primary" type="submit" id="auth-submit">Sign in</button>
|
|
<p class="fine" id="auth-msg" role="alert"></p>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="shell" id="shell" hidden>
|
|
<aside class="sidebar">
|
|
<a class="brand" href="#overview"><span class="brand-mark">a<span>/</span>p</span><span>ActivePush</span></a>
|
|
<button class="quiet mobile-toggle" id="menu-toggle" type="button">Menu</button>
|
|
<div class="edition">EXCHANGE ACTIVESYNC GATEWAY</div>
|
|
<nav class="main-navigation" id="nav"></nav>
|
|
<div class="sidebar-bottom">
|
|
<span class="small-label">RUNTIME</span>
|
|
<p>Rust / Tokio / Axum<br>IMAP · CalDAV · CardDAV<br>SQLite</p>
|
|
<div class="local-tag"><span class="signal pulse"></span><span id="push-count">PUSH</span></div>
|
|
</div>
|
|
</aside>
|
|
<main>
|
|
<header class="topbar">
|
|
<span class="breadcrumb">CONTROL ROOM <span>/</span> <b id="page-label">Overview</b></span>
|
|
<div class="top-actions">
|
|
<select id="lang" class="quiet" aria-label="Language"><option value="en">EN</option><option value="pl">PL</option></select>
|
|
<button class="quiet" id="theme" type="button">◐</button>
|
|
<span class="fine mono" id="whoami"></span>
|
|
<button class="quiet" id="logout" type="button">Lock</button>
|
|
</div>
|
|
</header>
|
|
<div id="view"></div>
|
|
</main>
|
|
</div>
|
|
|
|
<div id="modal-root"></div>
|
|
<div class="toast" id="toast" hidden></div>
|
|
</body>
|
|
</html>
|