Release 1.2.0 with calmer snack planning and PDF exports

This commit is contained in:
2026-04-13 13:51:20 +02:00
parent 57b56bc797
commit 7faa65d6c9
13 changed files with 1242 additions and 32 deletions
+43 -4
View File
@@ -54,26 +54,53 @@
</section>
<section class="planner-day-stack">
{% set hidden_snack_sections = sections | selectattr('is_snack_daypart') | rejectattr('visible_by_default') | list %}
{% if hidden_snack_sections %}
<section class="panel compact-form-panel snack-reveal-panel" data-day-snack-actions>
<div class="panel-head">
<h2>Zwischenmahlzeit hinzufügen</h2>
</div>
<div class="chip-row snack-reveal-actions">
{% for section in hidden_snack_sections %}
<button
class="ghost-button snack-reveal-button"
type="button"
data-day-snack-open
data-target="#daypart-{{ section.daypart.id }}"
>
{{ section.daypart.name }}
</button>
{% endfor %}
</div>
</section>
{% endif %}
{% for section in sections %}
<details class="day-tile" id="daypart-{{ section.daypart.id }}" {% if section.is_open %}open{% endif %}>
<details
class="day-tile{% if section.entries %} has-entries{% endif %}{% if section.selected_quick_action %} has-selection{% endif %}"
id="daypart-{{ section.daypart.id }}"
{% if section.is_snack_daypart and not section.visible_by_default %}hidden data-day-snack-tile{% endif %}
{% if section.is_open %}open{% endif %}
>
<summary class="day-tile-summary">
<div class="day-tile-summary-main">
<div class="day-tile-icon"><span class="ui-icon icon-calendar"></span></div>
<div>
<h2>{{ section.daypart.name }}</h2>
{% if section.summary_items %}
<p class="muted">{{ section.summary_items|join(', ') }}</p>
<p class="day-tile-summary-text">{{ section.summary_items|join(', ') }}</p>
{% else %}
<p class="muted">Noch frei. Öffnen, wenn du etwas ergänzen möchtest.</p>
{% endif %}
</div>
</div>
<span class="status-pill">{{ section.entries|length }} geplant</span>
<span class="status-pill{% if section.entries %} status-home{% endif %}">{{ section.entries|length }} geplant</span>
</summary>
<div class="day-tile-body">
{% if section.selected_quick_action %}
<div class="suggestion-card">
<div class="suggestion-card selected-quick-action">
<span class="status-pill status-home">Schon ausgewählt</span>
<strong>{{ section.selected_quick_action.title }}</strong>
<p class="muted">{{ section.selected_quick_action.subtitle }}</p>
{% if section.selected_quick_action.type == 'existing' %}
@@ -261,6 +288,18 @@
</div>
{% else %}
<p class="empty-state">Hier ist noch nichts eingetragen. Ein kleiner Anfang reicht völlig.</p>
{% if section.is_snack_daypart %}
<div class="row-actions snack-inline-actions">
<button
class="ghost-button"
type="button"
data-day-snack-hide
data-target="#daypart-{{ section.daypart.id }}"
>
Wieder ausblenden
</button>
</div>
{% endif %}
{% endif %}
</div>
</details>