summaryrefslogtreecommitdiff
path: root/internal/adminui/assets/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'internal/adminui/assets/index.html')
-rw-r--r--internal/adminui/assets/index.html43
1 files changed, 39 insertions, 4 deletions
diff --git a/internal/adminui/assets/index.html b/internal/adminui/assets/index.html
index ca9f282..95ab153 100644
--- a/internal/adminui/assets/index.html
+++ b/internal/adminui/assets/index.html
@@ -14,23 +14,50 @@
<div class="auth-tabs" role="tablist" aria-label="Account access">
<button class="auth-tab active" type="button" data-auth-pane="login-pane">Sign in</button>
<button class="auth-tab" type="button" data-auth-pane="register-pane" id="register-tab">Create account</button>
+ <button class="auth-tab" type="button" data-auth-pane="reset-request-pane">Reset password</button>
+ <button class="auth-tab" type="button" data-auth-pane="invite-pane">Accept invite</button>
<button class="auth-tab" type="button" data-auth-pane="bootstrap-pane">Operator</button>
</div>
<form class="auth-pane active" id="login-pane">
<div><span class="eyebrow">ACCOUNT ACCESS</span><h1>Sign in</h1></div>
<label>Email<input name="email" type="email" required autocomplete="username" placeholder="you@company.com"></label>
<label>Password<input name="password" type="password" required autocomplete="current-password"></label>
- <button class="button primary" type="submit">Sign in</button>
+ <div class="form-actions"><button class="button primary" type="submit">Sign in</button><button class="button subtle" type="button" id="passkey-login">Use passkey</button></div>
</form>
<form class="auth-pane" id="register-pane">
<div><span class="eyebrow">NEW WORKSPACE</span><h1>Create account</h1></div>
<label>Organization<input name="organization" required autocomplete="organization" placeholder="Acme Inc."></label>
- <label>Workspace slug<input name="tenant_slug" required pattern="[a-z0-9][a-z0-9-]{1,62}[a-z0-9]" placeholder="acme"></label>
+ <label>Workspace slug<input name="tenant_slug" required pattern="[a-z0-9][a-z0-9\-]{1,62}[a-z0-9]" placeholder="acme"></label>
<label>Your name<input name="display_name" required autocomplete="name"></label>
<label>Email<input name="email" type="email" required autocomplete="email"></label>
<label>Password<input name="password" type="password" required minlength="12" maxlength="128" autocomplete="new-password"></label>
<button class="button primary" type="submit">Create account</button>
</form>
+ <form class="auth-pane" id="mfa-pane">
+ <div><span class="eyebrow">SECOND FACTOR</span><h1>Verify sign in</h1></div>
+ <label>Code<input name="code" inputmode="numeric" autocomplete="one-time-code" required></label>
+ <div class="form-actions"><button class="button primary" type="submit">Verify</button><button class="button subtle" type="button" id="mfa-passkey">Use passkey</button></div>
+ </form>
+ <form class="auth-pane" id="reset-request-pane">
+ <div><span class="eyebrow">ACCOUNT RECOVERY</span><h1>Reset password</h1></div>
+ <label>Email<input name="email" type="email" required autocomplete="email"></label>
+ <button class="button primary" type="submit">Send reset link</button>
+ </form>
+ <form class="auth-pane" id="reset-complete-pane">
+ <div><span class="eyebrow">ACCOUNT RECOVERY</span><h1>Choose a new password</h1></div>
+ <input name="token" id="reset-token" type="hidden">
+ <input class="visually-hidden" autocomplete="username" aria-hidden="true" tabindex="-1">
+ <label>New password<input name="new_password" type="password" minlength="12" maxlength="128" required autocomplete="new-password"></label>
+ <button class="button primary" type="submit">Update password</button>
+ </form>
+ <form class="auth-pane" id="invite-pane">
+ <div><span class="eyebrow">TEAM ACCESS</span><h1>Accept invitation</h1></div>
+ <input name="token" id="invite-token" type="hidden">
+ <input class="visually-hidden" autocomplete="username" aria-hidden="true" tabindex="-1">
+ <label>Name<input name="display_name" required autocomplete="name"></label>
+ <label>Password<input name="password" type="password" minlength="12" maxlength="128" required autocomplete="new-password"></label>
+ <button class="button primary" type="submit">Join workspace</button>
+ </form>
<form class="auth-pane" id="bootstrap-pane">
<div><span class="eyebrow">BREAK GLASS</span><h1>Operator access</h1></div>
<input class="visually-hidden" name="username" autocomplete="username" value="aigw-operator" aria-hidden="true" tabindex="-1">
@@ -78,7 +105,7 @@
<section id="tenants" class="section">
<div class="section-heading"><div><span class="eyebrow">IDENTITY</span><h1>Tenants</h1></div></div>
- <form class="panel form-grid" id="tenant-form" data-permission="tenants.write"><label>Slug<input name="slug" required pattern="[a-z0-9][a-z0-9-]{1,62}[a-z0-9]" placeholder="acme"></label><label>Name<input name="name" required placeholder="Acme Inc."></label><button class="button primary" type="submit">Create tenant</button></form>
+ <form class="panel form-grid" id="tenant-form" data-permission="tenants.write"><label>Slug<input name="slug" required pattern="[a-z0-9][a-z0-9\-]{1,62}[a-z0-9]" placeholder="acme"></label><label>Name<input name="name" required placeholder="Acme Inc."></label><button class="button primary" type="submit">Create tenant</button></form>
<div class="panel table-wrap"><table><thead><tr><th>Name</th><th>Slug</th><th>Status</th><th>Created</th></tr></thead><tbody id="tenants-body"></tbody></table></div>
</section>
@@ -125,13 +152,21 @@
<section id="team" class="section">
<div class="section-heading"><div><span class="eyebrow">RBAC</span><h1>Console access</h1></div></div>
- <form class="panel form-grid" id="user-form" data-permission="users.write"><label>Tenant<select name="tenant_id" id="user-tenant"></select></label><label>Email<input name="email" type="email" required autocomplete="email" placeholder="operator@example.com"></label><label>Display name<input name="display_name" required placeholder="Operations"></label><label>Role<select name="role" id="user-role" required></select></label><label>Temporary password<input name="password" type="password" required minlength="12" maxlength="128" autocomplete="new-password"></label><button class="button primary" type="submit">Create member</button></form>
+ <form class="panel form-grid" id="user-form" data-permission="users.write"><label>Tenant<select name="tenant_id" id="user-tenant"></select></label><label>Email<input name="email" type="email" required autocomplete="email" placeholder="operator@example.com"></label><label>Display name<input name="display_name" required placeholder="Operations"></label><label>Role<select name="role" id="user-role" required></select></label><button class="button primary" type="submit">Invite member</button></form>
<div class="panel table-wrap"><table><thead><tr><th>User</th><th>Role</th><th>Tenant</th><th>Login</th><th>Last used</th><th>Status</th><th></th></tr></thead><tbody id="users-body"></tbody></table></div>
</section>
<section id="account" class="section">
<div class="section-heading"><div><span class="eyebrow">SECURITY</span><h1>Account</h1></div></div>
<form class="panel form-grid compact-form" id="password-form"><input class="visually-hidden" name="username" autocomplete="username" aria-hidden="true" tabindex="-1"><label>Current password<input name="current_password" type="password" required autocomplete="current-password"></label><label>New password<input name="new_password" type="password" required minlength="12" maxlength="128" autocomplete="new-password"></label><button class="button primary" type="submit">Change password</button></form>
+ <div class="account-grid">
+ <form class="panel form-grid compact-form" id="totp-begin-form"><h2>Authenticator app</h2><input class="visually-hidden" autocomplete="username" aria-hidden="true" tabindex="-1"><label>Current password<input name="current_password" type="password" required autocomplete="current-password"></label><label class="hidden" id="totp-disable-code">Authenticator code<input name="code" inputmode="numeric" autocomplete="one-time-code"></label><button class="button secondary" id="totp-action" type="submit">Set up TOTP</button></form>
+ <form class="panel form-grid compact-form hidden" id="totp-confirm-form"><h2>Confirm authenticator</h2><img id="totp-qr" alt="TOTP QR code"><code id="totp-secret"></code><label>Code<input name="code" inputmode="numeric" autocomplete="one-time-code" required></label><button class="button primary" type="submit">Enable TOTP</button></form>
+ <form class="panel form-grid compact-form" id="passkey-form"><h2>Passkey</h2><input class="visually-hidden" autocomplete="username" aria-hidden="true" tabindex="-1"><label>Current password<input name="current_password" type="password" required autocomplete="current-password"></label><label>Passkey name<input name="name" value="This device" required></label><button class="button secondary" type="submit">Add passkey</button></form>
+ </div>
+ <div class="panel table-wrap"><div class="section-heading"><h2>Devices</h2><button class="button subtle" id="revoke-other-sessions" type="button">Sign out other devices</button></div><table><thead><tr><th>Device</th><th>IP</th><th>Method</th><th>Last seen</th><th></th></tr></thead><tbody id="sessions-body"></tbody></table></div>
+ <div class="panel table-wrap"><div class="section-heading"><h2>Passkeys</h2></div><table><thead><tr><th>Name</th><th>Created</th><th>Last used</th><th></th></tr></thead><tbody id="passkeys-body"></tbody></table></div>
+ <div class="panel table-wrap"><div class="section-heading"><h2>Top-up orders</h2></div><table><thead><tr><th>Created</th><th>Amount</th><th>Status</th><th>Reference</th></tr></thead><tbody id="orders-body"></tbody></table></div>
</section>
<section id="audit" class="section">