<!DOCTYPE html> <html lang="en"> <head> <title>{{.ServiceName}}</title> <link rel="stylesheet" href="/theme/style.css"> </head> <body> <header> <h1>{{.ServiceName}}</h1> </header> <main> <form method="GET" action="/"> <button type="submit">Home</button> </form> {{if .Edit}} <h2>Edit User</h2> <form method="POST" action="/manage/users"> <input type="hidden" name="action" value="edit"/> <input type="hidden" name="offset" value="{{.Offset}}"/> <input type="hidden" name="subject" value="{{.Edit.Sub}}"/> <div> <label>ID: {{.Edit.Sub}}</label> </div> <div> <label for="field_name">Name:</label> <input type="text" name="name" id="field_name" value="{{.Edit.Name}}" required/> </div> <div> <label for="field_username">Username:</label> <input type="text" name="username" id="field_username" value="{{.Edit.Username}}" required/> </div> <div> <label for="field_role">Role:</label> <select name="role" id="field_role" required> <option value="member" {{if (eq .Edit.Role 0)}}selected{{end}}>Member</option> <option value="admin" {{if (eq .Edit.Role 1)}}selected{{end}}>Admin</option> </select> </div> <div> <label for="field_active">Active: <input type="checkbox" name="active" id="field_active" checked/></label> </div> <button type="submit">Edit</button> </form> <form method="GET" action="/manage/users"> <input type="hidden" name="offset" value="{{.Offset}}"/> <button type="submit">Cancel</button> </form> {{else}} <h2>Manage Users</h2> {{if eq (len .Users) 0}} <div>No users found, this is definitely a bug.</div> {{else}} <table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Username</th> <th>Picture</th> <th>Website</th> <th>Email</th> <th>Email Verified</th> <th>Role</th> <th>Last Updated</th> <th>Active</th> <th>Actions</th> </tr> </thead> <tbody> {{range .Users}} <tr> <td>{{.Sub}}</td> <td>{{.Name}}</td> <td>{{.Username}}</td> <td> {{if .Picture}} <img width="32" height="32" src="{{.Picture}}" alt="{{.Name}} Profile Picture"/> {{end}} </td> <td><a href="{{.Website}}" target="_blank">{{.Website}}</a></td> <th> {{if $.EmailShow}} <span>{{.Email}}</span> {{else}} <span>{{emailHide .Email}}</span> {{end}} </th> <th>{{.EmailVerified}}</th> <th>{{.Role}}</th> <th>{{.UpdatedAt}}</th> <td>{{.Active}}</td> <td> {{if eq $.CurrentAdmin .Sub}} <span></span> {{else}} <form method="GET" action="/manage/users"> <input type="hidden" name="offset" value="{{$.Offset}}"/> <input type="hidden" name="edit" value="{{.Sub}}"/> <button type="submit">Edit</button> </form> <form method="POST" action="/reset-password"> <input type="hidden" name="email" value="{{.Email}}"/> <button type="submit">Send Reset Password Email</button> </form> {{end}} </td> </tr> {{end}} </tbody> </table> <form method="GET" action="/manage/users"> <input type="hidden" name="offset" value="{{.Offset}}"/> {{if not .EmailShow}} <input type="hidden" name="show-email"/> {{end}} <button type="submit">{{if .EmailShow}}Hide Email Addresses{{else}}Show email addresses{{end}}</button> </form> {{end}} <h2>Create User</h2> <form method="POST" action="/manage/users"> <input type="hidden" name="action" value="create"/> <input type="hidden" name="offset" value="{{.Offset}}"/> <div> <label for="field_name">Name:</label> <input type="text" name="name" id="field_name" required/> </div> <div> <label for="field_username">Username:</label> <input type="text" name="username" id="field_username" required/> </div> <div> <label for="field_email">Email:</label> <p>Using an `@{{.Namespace}}` email address will automatically verify as it is owned by this login service.</p> <input type="text" name="email" id="field_email" required/> </div> <div> <label for="field_role">Role:</label> <select name="role" id="field_role" required> <option value="member" selected>Member</option> <option value="admin">Admin</option> </select> </div> <div> <label for="field_active">Active: <input type="checkbox" name="active" id="field_active" checked/></label> </div> <button type="submit">Create</button> </form> {{end}} </main> </body> </html>