first commit

This commit is contained in:
Mateusz Gruszczyński committed 2026-11-05 12:52:32 +01:00
commit 19dfc51360
85 files changed
+25504

No files matched your search

+74
View File
@@ -0,0 +1,74 @@
<!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>