Files
web-petting/templates/admin/client_form.html
T
Aleksandr Bogomiakov 79c287eaa0
Build and Publish / Build and Publish Docker Image (push) Successful in 1m42s
Reworked admin style
2026-08-09 03:19:47 +01:00

100 lines
4.2 KiB
HTML

{% extends "admin/layout.html" %}
{% let active_page = "clients" %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
<div class="page-head">
<h1>{{ t.clients_title }}</h1>
</div>
<section class="admin-section">
<header class="admin-section-head">
<span class="admin-section-icon" aria-hidden="true">👤</span>
<div><h2>{{ title }}</h2></div>
</header>
<div class="admin-section-body">
<form method="post" action="{{ action_url }}" class="form-grid">
<div class="field admin-field-wide">
<label class="label">{{ t.clients_name }}</label>
<div class="control">
<input class="input" type="text" name="name" value="{{ client_name }}" required>
</div>
</div>
<div class="field">
<label class="label">{{ t.clients_phone }}</label>
<div class="control">
<input class="input" type="tel" name="phone" value="{{ client_phone }}">
</div>
</div>
<div class="field">
<label class="label">{{ t.clients_email }}</label>
<div class="control">
<input class="input" type="email" name="email" value="{{ client_email }}">
</div>
</div>
<div class="field admin-field-wide">
<label class="label">{{ t.clients_address }}</label>
<div class="control">
<input class="input" type="text" name="address" value="{{ client_address }}">
</div>
</div>
<div class="field admin-field-wide">
<label class="label">{{ t.clients_notes }}</label>
<div class="control">
<textarea class="textarea" name="notes" rows="3">{{ client_notes }}</textarea>
</div>
</div>
<div class="field admin-field-wide">
<label class="label">{{ t.clients_color }}</label>
<div class="control color-control">
<input type="color" name="color" value="{{ client_color }}">
<span class="has-text-grey is-size-7">{{ client_color }}</span>
</div>
</div>
<div class="field admin-field-wide">
<button type="submit" class="button is-primary is-fullwidth">{{ submit_label }}</button>
</div>
</form>
{% if is_edit %}
<div class="portal-panel">
<div class="field">
<label class="label">{{ t.portal_link }}</label>
<div class="control inline-control">
<input class="input is-small" type="text" readonly id="portalUrl" value="">
<button type="button" class="button is-small is-info is-outlined" onclick="navigator.clipboard.writeText(document.getElementById('portalUrl').value)">📋</button>
</div>
<div class="portal-qr">
<canvas id="qrCanvas"></canvas>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/qrious@4.0.2/dist/qrious.min.js"></script>
<script>
(function() {
var url = window.location.origin + '/client/{{ client_token }}';
document.getElementById('portalUrl').value = url;
new QRious({ element: document.getElementById('qrCanvas'), value: url, size: 180, level: 'M' });
})();
</script>
<div class="danger-zone">
{% if client_status == "active" %}
<form method="post" action="/admin/clients/{{ client_id }}/archive">
<button type="submit" class="button is-warning is-outlined is-fullwidth">{{ t.action_archive }}</button>
</form>
{% else if client_status == "archived" %}
<form method="post" action="/admin/clients/{{ client_id }}/activate">
<button type="submit" class="button is-success is-outlined is-fullwidth">{{ t.action_activate }}</button>
</form>
{% endif %}
{% if client_status != "deleted" %}
<form method="post" action="/admin/clients/{{ client_id }}/delete" onsubmit="return confirm('{{ t.clients_delete_confirm }}');" class="mt-3">
<button type="submit" class="button is-danger is-outlined is-fullwidth">{{ t.clients_delete }}</button>
</form>
{% endif %}
</div>
{% endif %}
</div>
</section>
{% endblock %}