mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-04-23 17:18:44 +02:00
feat: presets
This commit is contained in:
@@ -1,11 +1,19 @@
|
||||
{% extends 'extends/offcanvas.html' %}
|
||||
{% load json %}
|
||||
{% load i18n %}
|
||||
{% load crispy_forms_tags %}
|
||||
|
||||
{% block title %}{% translate 'Add new import profile' %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form hx-post="{% url 'import_profiles_add' %}" hx-target="#generic-offcanvas" novalidate>
|
||||
{% if message %}
|
||||
<div class="alert alert-info" role="alert" id="msg" hx-preserve="true">
|
||||
<h6 class="alert-heading tw-italic tw-font-bold">{% trans 'A message from the author' %}</h6>
|
||||
<hr>
|
||||
<p class="mb-0">{{ message|linebreaksbr }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
<form hx-post="{% url 'import_profiles_add' %}" hx-target="#generic-offcanvas" novalidate hx-vals='{"message": {% if message %}{{ message|json }}{% else %}""{% endif %}}'>
|
||||
{% crispy form %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@@ -3,13 +3,24 @@
|
||||
<div class="tw-text-3xl fw-bold font-monospace tw-w-full mb-3">
|
||||
{% spaceless %}
|
||||
<div>{% translate 'Import Profiles' %}<span>
|
||||
<a class="text-decoration-none tw-text-2xl p-1 category-action"
|
||||
role="button"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-title="{% translate "Add" %}"
|
||||
hx-get="{% url 'import_profiles_add' %}"
|
||||
hx-target="#generic-offcanvas">
|
||||
<i class="fa-solid fa-circle-plus fa-fw"></i></a>
|
||||
<span class="dropdown" data-bs-toggle="tooltip"
|
||||
data-bs-title="{% translate "Add" %}">
|
||||
<a class="text-decoration-none tw-text-2xl p-1" role="button"
|
||||
data-bs-toggle="dropdown"
|
||||
data-bs-title="{% translate "Add" %}" aria-expanded="false">
|
||||
<i class="fa-solid fa-circle-plus fa-fw"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item"
|
||||
role="button"
|
||||
hx-get="{% url 'import_profiles_add' %}"
|
||||
hx-target="#generic-offcanvas">{% trans 'New' %}</a></li>
|
||||
<li><a class="dropdown-item"
|
||||
role="button"
|
||||
hx-get="{% url 'import_presets_list' %}"
|
||||
hx-target="#persistent-generic-offcanvas-left">{% trans 'From preset' %}</a></li>
|
||||
</ul>
|
||||
</span>
|
||||
</span></div>
|
||||
{% endspaceless %}
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{% extends 'extends/offcanvas.html' %}
|
||||
{% load i18n %}
|
||||
{% load crispy_forms_tags %}
|
||||
|
||||
{% block title %}{% translate 'Import Presets' %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% if presets %}
|
||||
<div id="search" class="mb-3">
|
||||
<label class="w-100">
|
||||
<input type="search"
|
||||
class="form-control"
|
||||
placeholder="{% translate 'Search' %}"
|
||||
_="on input or search
|
||||
show < .col /> in <#items/>
|
||||
when its textContent.toLowerCase() contains my value.toLowerCase()"/>
|
||||
</label>
|
||||
</div>
|
||||
<div class="row row-cols-1 g-4" id="items">
|
||||
{% for preset in presets %}
|
||||
<a class="text-decoration-none"
|
||||
role="button"
|
||||
hx-get="{% url 'import_profiles_add' %}"
|
||||
hx-vals='{"yaml_config": {{ preset.config }}, "name": "{{ preset.name }}", "version": "{{ preset.schema_version }}", "message": {{ preset.message }}}'
|
||||
hx-target="#generic-offcanvas">
|
||||
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{ preset.name }}</h5>
|
||||
<hr>
|
||||
<p>{{ preset.description }}</p>
|
||||
<p>{% trans 'By' %} {{ preset.authors|join:", " }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<c-msg.empty title="{% translate "No presets yet" %}"></c-msg.empty>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
13
app/templates/import_app/fragments/runs/log.html
Normal file
13
app/templates/import_app/fragments/runs/log.html
Normal file
@@ -0,0 +1,13 @@
|
||||
{% extends 'extends/offcanvas.html' %}
|
||||
{% load i18n %}
|
||||
{% load crispy_forms_tags %}
|
||||
|
||||
{% block title %}{% translate 'Logs for' %} #{{ run.id }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="card tw-max-h-full tw-overflow-auto">
|
||||
<div class="card-body">
|
||||
{{ run.logs|linebreaks }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user