parcel/templates/admin/users/edit.html
Blake Rain cd8efa869f
Some checks failed
Check / check (push) Failing after 59s
fix: tidy up layout on smaller screen sizes
2024-08-10 11:37:36 +01:00

93 lines
2.8 KiB
HTML

<parcel-modal class="hidden" with-htmx>
<form
class="form"
hx-post="/admin/users/{{ user.id }}"
hx-target="#user-list-container"
hx-select="#user-list-container"
hx-swap="outerHTML">
<input type="hidden" name="token" value="{{ token }}" />
<label for="username">Username</label>
<input
type="text"
class="field"
name="username"
id="username"
placeholder="Username"
value="{{ user.username }}"
required
/>
<label for="name">Display name</label>
<input
type="text"
class="field"
name="name"
id="name"
placeholder="Display Name"
value="{{ user.name }}"
required
/>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-2 mt-4">
<div>
<div class="checkbox">
<input
type="checkbox"
name="admin"
id="admin"
{% if user.admin %}checked{% endif %} />
<label for="admin">User is an administrator</label>
</div>
<div class="checkbox">
<input
type="checkbox"
{% if user.id == auth.id %}
disabled
title="You cannn't disable your own account"
{% else %}
name="enabled"
id="enabled"
{% endif %}
{% if user.enabled %}checked{% endif %} />
<label for="enabled">User account is enabled</label>
</div>
<div class="checkbox">
<input type="checkbox" name="limit_check" id="limit_check" {% if user.limit %}checked{% endif %} />
<label for="limit_check">User has an upload limit</label>
</div>
</div>
<div class="flex flex-col gap-2 justify-end">
<label>Upload limit in megabytes</label>
<input
type="number"
class="field"
name="limit"
id="limit"
{% if user.limit %}
value="{{ (user.limit / 1048576) | int }}"
{% else %}
value="1024"
{% endif %}
min="0"
{% if not user.limit %}disabled{% endif %} />
</div>
</div>
<div class="buttons reverse end mt-4">
<button
type="submit"
class="button"
onclick="event.target.closest('parcel-modal').closeModal();">
Save changes
</button>
<button
class="button hollow"
onclick="event.preventDefault(); event.target.closest('parcel-modal').closeModal();">
Cancel
</button>
</div>
<script type="text/javascript">
document.querySelector("input[name='limit_check']").addEventListener("change", (event) => {
event.target.form.querySelector("input[name='limit']").disabled = !event.target.checked;
});
</script>
</form>
</parcel-modal>