eleven / ocho Public

Clone
git clone https://amadan.net/eleven/ocho

Plain git — no account needed to clone.

Download

Download this file

1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<meta name="theme-color" content="#f6f7fb" media="(prefers-color-scheme: light)">
7<meta name="theme-color" content="#15171c" media="(prefers-color-scheme: dark)">
8<title>Keep your access to this chat</title>
9<link rel="stylesheet" href="/static/home.css">
10</head>
11<body>
12<main class="card">
13 <!-- The tile names exactly what's about to be added, so an injected/spoofed
14 entry is visible before anything is written (the confirmation gate). -->
15 <div class="entry" id="entry">
16 <div class="entry-badge">
17 <img class="entry-photo hidden" id="entry-icon" alt="" />
18 <div class="entry-glyph" id="entry-glyph" aria-hidden="true">
19 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7.9 20A9 9 0 1 0 4 16.1L2 22Z"/></svg>
20 </div>
21 <div class="badge" id="badge" aria-hidden="true">
22 <svg class="key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21 2-9.6 9.6"/><circle cx="7.5" cy="15.5" r="5.5"/><path d="m15.5 7.5 3 3L22 7l-3-3"/></svg>
23 <svg class="check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>
24 </div>
25 </div>
26 <div class="name" id="entry-name">This chat</div>
27 <div class="host" id="entry-host"></div>
28 </div>
29
30 <h1>Keep your access to this chat</h1>
31 <p class="sub">Sign in with Eleven and your key to this chat stays safe — your
32 face or fingerprint opens it, nothing to remember. Not even this server can
33 see inside.</p>
34
35 <!-- Both intents up front, clearly separated: signing in (the primary path —
36 it adds this chat to the account you already have) and creating a
37 sign-in for someone genuinely new. Nobody has to fail a ceremony to
38 discover the path that was theirs. -->
39 <div class="actions" id="actions">
40 <button id="save">Sign in and save</button>
41 <div class="path-divider">New here?</div>
42 <button id="create-new" class="secondary" type="button">I'm new — create my sign-in</button>
43 </div>
44
45 <!-- Inline status only — never a floating toast (product-wide rule). -->
46 <p class="status" id="status"></p>
47</main>
48<script type="module" src="/static/enroll.js"></script>
49</body>
50</html>
51