Build and Publish / Build and Publish Docker Image (push) Successful in 1m42s
100 lines
4.2 KiB
HTML
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 %}
|