144 lines
5.8 KiB
HTML
144 lines
5.8 KiB
HTML
{% extends "base.html" %}
|
|
{% from "partials/macros.html" import nav_icon %}
|
|
{% block title %}Quick-Wins · Putzliga{% endblock %}
|
|
{% block page_title %}Quick-Wins{% endblock %}
|
|
{% block content %}
|
|
<section class="settings-tabs">
|
|
{% for endpoint, label, icon in settings_tabs %}
|
|
<a href="{{ url_for(endpoint) }}" class="settings-tab {% if active_settings_tab == endpoint %}is-active{% endif %}">
|
|
{{ nav_icon(icon) }}
|
|
<span>{{ label }}</span>
|
|
</a>
|
|
{% endfor %}
|
|
</section>
|
|
|
|
<section class="two-column">
|
|
<article class="panel">
|
|
<p class="eyebrow">Gemeinsame Vorlagen</p>
|
|
<h2>Quick-Win anlegen</h2>
|
|
<p class="muted">Alle hier angelegten Quick-Wins sind direkt für das ganze Team im Plus-Menü verfügbar.</p>
|
|
<form method="post" class="form-grid">
|
|
{{ quick_win_form.hidden_tag() }}
|
|
<div class="field">
|
|
{{ quick_win_form.title.label }}
|
|
{{ quick_win_form.title(placeholder="Zum Beispiel: Müllbeutel wechseln") }}
|
|
{% for error in quick_win_form.title.errors %}<small class="error">{{ error }}</small>{% endfor %}
|
|
</div>
|
|
<div class="field">
|
|
{{ quick_win_form.effort.label }}
|
|
{{ quick_win_form.effort() }}
|
|
{% for error in quick_win_form.effort.errors %}<small class="error">{{ error }}</small>{% endfor %}
|
|
</div>
|
|
{{ quick_win_form.submit(class_='button') }}
|
|
</form>
|
|
</article>
|
|
|
|
<article class="panel">
|
|
<p class="eyebrow">Direkt sichtbar</p>
|
|
<h2>Aktive Quick-Wins</h2>
|
|
<div class="quick-win-list">
|
|
{% for quick_win in quick_wins %}
|
|
<article class="quick-win-manage-card">
|
|
<div>
|
|
<strong>{{ quick_win.title }}</strong>
|
|
<p class="muted">{{ quick_task_config[quick_win.effort].label }} · von {{ quick_win.created_by_user.name }}</p>
|
|
</div>
|
|
{% if quick_win.created_by_user_id == current_user.id or current_user.is_admin %}
|
|
<form method="post" action="{{ url_for('settings.delete_quick_win', quick_win_id=quick_win.id) }}">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
|
<button type="submit" class="button button--ghost">Entfernen</button>
|
|
</form>
|
|
{% endif %}
|
|
</article>
|
|
{% else %}
|
|
<div class="empty-state">Noch keine Quick-Wins angelegt. Der erste steht gleich oben bereit.</div>
|
|
{% endfor %}
|
|
</div>
|
|
</article>
|
|
</section>
|
|
|
|
{% if current_user.is_admin %}
|
|
<section class="panel">
|
|
<p class="eyebrow">Admin</p>
|
|
<h2>Quick-Win-Aufwand</h2>
|
|
<p class="muted">Hier definierst du die sichtbaren Aufwand-Stufen und die dazugehörigen Punkte. Im Quick-Wins-Dialog wird nur die Bezeichnung angezeigt.</p>
|
|
<form method="post" action="{{ url_for('settings.update_quick_task_config') }}" class="badge-settings">
|
|
{{ quick_task_config_form.hidden_tag() }}
|
|
<div class="badge-setting-card">
|
|
<div>
|
|
<strong>Slot 1</strong>
|
|
<p class="muted">Kleine Sache für zwischendurch.</p>
|
|
</div>
|
|
<div class="field">
|
|
{{ quick_task_config_form.fast_label.label }}
|
|
{{ quick_task_config_form.fast_label() }}
|
|
</div>
|
|
<div class="field">
|
|
<label for="{{ quick_task_config_form.fast_points.id }}">Punkte</label>
|
|
{{ quick_task_config_form.fast_points() }}
|
|
</div>
|
|
</div>
|
|
<div class="badge-setting-card">
|
|
<div>
|
|
<strong>Slot 2</strong>
|
|
<p class="muted">Typische Alltagssache.</p>
|
|
</div>
|
|
<div class="field">
|
|
{{ quick_task_config_form.normal_label.label }}
|
|
{{ quick_task_config_form.normal_label() }}
|
|
</div>
|
|
<div class="field">
|
|
<label for="{{ quick_task_config_form.normal_points.id }}">Punkte</label>
|
|
{{ quick_task_config_form.normal_points() }}
|
|
</div>
|
|
</div>
|
|
<div class="badge-setting-card">
|
|
<div>
|
|
<strong>Slot 3</strong>
|
|
<p class="muted">Braucht etwas mehr Zeit oder Konzentration.</p>
|
|
</div>
|
|
<div class="field">
|
|
{{ quick_task_config_form.medium_label.label }}
|
|
{{ quick_task_config_form.medium_label() }}
|
|
</div>
|
|
<div class="field">
|
|
<label for="{{ quick_task_config_form.medium_points.id }}">Punkte</label>
|
|
{{ quick_task_config_form.medium_points() }}
|
|
</div>
|
|
</div>
|
|
<div class="badge-setting-card">
|
|
<div>
|
|
<strong>Slot 4</strong>
|
|
<p class="muted">Spürbarer Aufwand mit mehr Punkten.</p>
|
|
</div>
|
|
<div class="field">
|
|
{{ quick_task_config_form.heavy_label.label }}
|
|
{{ quick_task_config_form.heavy_label() }}
|
|
</div>
|
|
<div class="field">
|
|
<label for="{{ quick_task_config_form.heavy_points.id }}">Punkte</label>
|
|
{{ quick_task_config_form.heavy_points() }}
|
|
</div>
|
|
</div>
|
|
<div class="badge-setting-card">
|
|
<div>
|
|
<strong>Slot 5</strong>
|
|
<p class="muted">Extra große Aufgabe für echte Kraftakte.</p>
|
|
</div>
|
|
<div class="field">
|
|
{{ quick_task_config_form.super_heavy_label.label }}
|
|
{{ quick_task_config_form.super_heavy_label() }}
|
|
</div>
|
|
<div class="field">
|
|
<label for="{{ quick_task_config_form.super_heavy_points.id }}">Punkte</label>
|
|
{{ quick_task_config_form.super_heavy_points() }}
|
|
</div>
|
|
</div>
|
|
<div class="field field--full">
|
|
{{ quick_task_config_form.submit(class_='button button--secondary') }}
|
|
</div>
|
|
</form>
|
|
</section>
|
|
{% endif %}
|
|
{% endblock %}
|