new _applets partial to govern applet list; home.html updated accordingly to incl partial; fixed seed migrations for palette convention from last commit; new text_view ITs & views to govern applet visibility/toggling
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Disco DeDisco
2026-03-05 16:08:40 -05:00
parent c099479740
commit 20c5f6f589
6 changed files with 132 additions and 36 deletions

View File

@@ -0,0 +1,61 @@
{% load lyric_extras %}
<div id="id_applets_container">
<div id="id_applet_menu" style="display:none;">
<form
hx-post="{% url "toggle_applets" %}"
hx-target="#id_applets_container"
hx-swap="outerHTML"
>
{% csrf_token %}
{% for entry in applets %}
<label>
<input
type="checkbox"
name="applets"
value="{{ entry.applet.slug }}"
{% if entry.visible %}checked{% endif %}
>
{{ entry.applet.name }}
</label>
{% endfor %}
<button type="submit" class="btn btn-confirm">OK</button>
</form>
</div>
{% for entry in applets %}
{% if entry.visible %}
{% if entry.applet.slug == "username" %}
<section id="id_applet_username">
<h1>{{ user|display_name }}</h1>
<div class="form-container">
<form method="POST" action="{% url "set_profile" %}">
{% csrf_token %}
<input
id="id_new_username"
name="username"
required
value="{{ user.username|default:'' }}"
>
</form>
</div>
</section>
{% elif entry.applet.slug == "palette" %}
<section id="id_applet_palette" class="palette">
{% for palette in palettes %}
<div class="palette-item">
<div class="swatch {{ palette.name }}{% if user_palette == palette.name %} active{% endif %}{% if palette.locked %} locked{% endif %}"></div>
{% if not palette.locked %}
<form method="POST" action="{% url "set_palette" %}">
{% csrf_token %}
<button type="submit" name="palette" value="{{ palette.name }}" class="btn btn-confirm">OK</button>
</form>
{% else %}
<span class="btn btn-disabled">&times;</span>
{% endif %}
</div>
{% endfor %}
</section>
{% endif %}
{% endif %}
{% endfor %}
</div>

View File

@@ -15,29 +15,12 @@
{% block content %}
{% if user.is_authenticated %}
<section id="id_applet_palette" class="palette">
{% for palette in palettes %}
<div class="palette-item">
<div class="swatch {{ palette.name }}{% if user_palette == palette.name %} active{% endif %}{% if palette.locked %} locked{% endif %}"></div>
{% if not palette.locked %}
<form method="POST" action="{% url 'set_palette' %}">
{% csrf_token %}
<button type="submit" name="palette" value="{{ palette.name }}" class="btn btn-confirm">OK</button>
</form>
{% else %}
<span class="btn btn-disabled">&times;</span>
{% endif %}
</div>
{% endfor %}
</section>
<section id="id_applet_username">
<h1>{{ user|display_name }}</h1>
<div class="form-container">
<form method="POST" action="{% url "set_profile" %}">
{% csrf_token %}
<input id="id_new_username" name="username" required value="{{ user.username|default:'' }}">
</form>
</div>
</section>
<button
id="id_dash_gear"
onclick="document.getElementById('id_applet_menu').style.display='block'"
>
&#9881;
</button>
{% include "apps/dashboard/_partials/_applets.html" %}
{% endif %}
{% endblock content %}