feat: restyle admin UI and add per-user sync run history
Adds a self-hosted stylesheet (no CDN dependencies) with a card-based dashboard and color-coded status badges, and shows the last 10 sync runs per user on the detail page.
This commit is contained in:
@@ -4,37 +4,39 @@
|
||||
|
||||
{% block content %}
|
||||
<h1>{% if user %}Edit User{% else %}New User{% endif %}</h1>
|
||||
<form method="post" action="{{ form_action }}">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token }}">
|
||||
<div class="card">
|
||||
<form method="post" action="{{ form_action }}" class="stacked-form">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token }}">
|
||||
|
||||
<label for="name">Name</label>
|
||||
<input type="text" id="name" name="name" value="{{ user.name if user else '' }}" required>
|
||||
<label for="name">Name</label>
|
||||
<input type="text" id="name" name="name" value="{{ user.name if user else '' }}" required>
|
||||
|
||||
<label for="mywhoosh_email">MyWhoosh Email</label>
|
||||
<input type="email" id="mywhoosh_email" name="mywhoosh_email" value="{{ mywhoosh_email }}" required>
|
||||
<label for="mywhoosh_email">MyWhoosh Email</label>
|
||||
<input type="email" id="mywhoosh_email" name="mywhoosh_email" value="{{ mywhoosh_email }}" required>
|
||||
|
||||
<label for="mywhoosh_password">MyWhoosh Password</label>
|
||||
<input type="password" id="mywhoosh_password" name="mywhoosh_password" autocomplete="new-password"
|
||||
{% if not user %}required{% endif %}>
|
||||
{% if user %}
|
||||
<p class="hint">Leave blank to keep the existing password.</p>
|
||||
{% endif %}
|
||||
<label for="mywhoosh_password">MyWhoosh Password</label>
|
||||
<input type="password" id="mywhoosh_password" name="mywhoosh_password" autocomplete="new-password"
|
||||
{% if not user %}required{% endif %}>
|
||||
{% if user %}
|
||||
<p class="hint">Leave blank to keep the existing password.</p>
|
||||
{% endif %}
|
||||
|
||||
<label for="garmin_email">Garmin Email</label>
|
||||
<input type="email" id="garmin_email" name="garmin_email" value="{{ garmin_email }}" required>
|
||||
<label for="garmin_email">Garmin Email</label>
|
||||
<input type="email" id="garmin_email" name="garmin_email" value="{{ garmin_email }}" required>
|
||||
|
||||
<label for="garmin_password">Garmin Password</label>
|
||||
<input type="password" id="garmin_password" name="garmin_password" autocomplete="new-password"
|
||||
{% if not user %}required{% endif %}>
|
||||
{% if user %}
|
||||
<p class="hint">Leave blank to keep the existing password.</p>
|
||||
{% endif %}
|
||||
<label for="garmin_password">Garmin Password</label>
|
||||
<input type="password" id="garmin_password" name="garmin_password" autocomplete="new-password"
|
||||
{% if not user %}required{% endif %}>
|
||||
{% if user %}
|
||||
<p class="hint">Leave blank to keep the existing password.</p>
|
||||
{% endif %}
|
||||
|
||||
<label for="enabled">
|
||||
<input type="checkbox" id="enabled" name="enabled" {% if not user or user.enabled %}checked{% endif %}>
|
||||
Enabled
|
||||
</label>
|
||||
<label for="enabled">
|
||||
<input type="checkbox" id="enabled" name="enabled" {% if not user or user.enabled %}checked{% endif %}>
|
||||
Enabled
|
||||
</label>
|
||||
|
||||
<button type="submit">{% if user %}Save{% else %}Create{% endif %}</button>
|
||||
</form>
|
||||
<button type="submit">{% if user %}Save{% else %}Create{% endif %}</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user