| 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 | |