Refactor web server and release workflow
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<div class="page-header">
|
||||
<div>
|
||||
<h2>Add user</h2>
|
||||
<p>Create a new login for the web UI.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card user-create-card">
|
||||
<form method="post" action="/admin/users" class="user-create-form">
|
||||
<section class="user-create-section">
|
||||
<h3>Account details</h3>
|
||||
<div class="user-create-fields">
|
||||
<label>
|
||||
Username
|
||||
<input type="text" name="username" autocomplete="username" required />
|
||||
</label>
|
||||
<label>
|
||||
Name
|
||||
<input type="text" name="name" autocomplete="name" required />
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="user-create-section">
|
||||
<h3>Set password</h3>
|
||||
<div class="user-create-fields">
|
||||
<label>
|
||||
Password
|
||||
<input type="password" name="password" autocomplete="new-password" minlength="8" required />
|
||||
</label>
|
||||
<label>
|
||||
Confirm password
|
||||
<input type="password" name="confirm_password" autocomplete="new-password" minlength="8" required />
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="actions user-create-actions">
|
||||
<button type="submit" class="user-create-button">Create user</button>
|
||||
<a class="button-link secondary" href="/admin/users">Back to users</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,49 @@
|
||||
<div class="page-header">
|
||||
<div>
|
||||
<h2>Edit user</h2>
|
||||
<p>Update the name or password for {{user.username}}.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card user-edit-card">
|
||||
<div class="user-edit-header">
|
||||
<div class="user-cell">
|
||||
<div class="user-avatar" aria-hidden="true">{{usernameInitial user.username}}</div>
|
||||
<div>
|
||||
<strong>{{user.username}}</strong>
|
||||
{{#if user.isCurrentUser}}
|
||||
<div class="subtle">Current signed-in user</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<a class="button-link secondary" href="/admin/users">Back to users</a>
|
||||
</div>
|
||||
|
||||
<div class="user-edit-grid">
|
||||
<form method="post" action="/admin/users/{{user.id}}/username" class="card user-edit-panel">
|
||||
<h3>Edit user</h3>
|
||||
<label>
|
||||
Username
|
||||
<input type="text" name="username" value="{{user.username}}" autocomplete="username" required disabled />
|
||||
</label>
|
||||
<label>
|
||||
Name
|
||||
<input type="text" name="name" value="{{user.name}}" autocomplete="name" required />
|
||||
</label>
|
||||
<button type="submit" class="user-edit-button">Save changes</button>
|
||||
</form>
|
||||
|
||||
<form method="post" action="/admin/users/{{user.id}}/password" class="card user-edit-panel">
|
||||
<h3>Reset password</h3>
|
||||
<label>
|
||||
New password
|
||||
<input type="password" name="password" autocomplete="new-password" minlength="8" required />
|
||||
</label>
|
||||
<label>
|
||||
Confirm password
|
||||
<input type="password" name="confirm_password" autocomplete="new-password" minlength="8" required />
|
||||
</label>
|
||||
<button type="submit" class="user-edit-button">Save password</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,62 @@
|
||||
<div class="page-header">
|
||||
<div>
|
||||
<h2>Users</h2>
|
||||
<p>Create accounts, rename users, reset passwords, and remove unused logins.</p>
|
||||
</div>
|
||||
<div class="page-toolbar">
|
||||
<a class="button-link" href="/admin/users/new">Add user</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h3>Existing users</h3>
|
||||
<table class="table-cards users-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>User</th>
|
||||
<th>Name</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#if users.length}}
|
||||
{{#each users}}
|
||||
<tr>
|
||||
<td data-label="User">
|
||||
<div class="user-cell">
|
||||
<div class="user-avatar user-avatar--small" aria-hidden="true">{{usernameInitial name}}</div>
|
||||
<div>
|
||||
<strong>{{username}}</strong>
|
||||
{{#if isCurrentUser}}
|
||||
<div class="subtle">Current signed-in user</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td data-label="Name">
|
||||
<div class="user-cell">
|
||||
<div>
|
||||
<strong>{{#if name}}{{name}}{{else}}-{{/if}}</strong>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td data-label="Actions">
|
||||
<div class="actions users-row-actions">
|
||||
{{#unless isCurrentUser}}
|
||||
<a class="button-link list-action" href="/admin/users/{{id}}/edit">Edit</a>
|
||||
<form method="post" action="/admin/users/{{id}}/delete" class="inline-form" data-confirm-message="Delete {{username}}?">
|
||||
<button type="submit" class="button-link list-action is-danger">Delete</button>
|
||||
</form>
|
||||
{{else}}
|
||||
<span class="empty">Protected</span>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
<tr><td colspan="3" class="empty">No users found.</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
Reference in New Issue
Block a user