P0: Status-Badge-Farben semantisch vereinheitlicht
Zentrales status_badge-Makro (status.html): neuheit/neu+abgeschlossen = emerald, offen = slate, in_bearbeitung/planung = sky, warnung/konflikt/ pruefung = amber mit Warn-Icon, fehler = red, deaktiviert/archiviert = slate. Angewendet in neuheiten, planung, archiv, dedup, Benutzerliste.
This commit is contained in:
@@ -28,10 +28,11 @@
|
||||
<td class="px-4 py-2">{{ b.display_name }}</td>
|
||||
<td class="px-4 py-2">{{ rollen_anzeige[b.role] or b.role }}</td>
|
||||
<td class="px-4 py-2">
|
||||
{% from "status.html" import status_badge %}
|
||||
{% if b.active %}
|
||||
<span class="text-emerald-700">aktiv</span>
|
||||
{{ status_badge("aktiv", "aktiv") }}
|
||||
{% else %}
|
||||
<span class="text-red-600">deaktiviert</span>
|
||||
{{ status_badge("deaktiviert", "deaktiviert") }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="px-4 py-2 text-slate-500">{{ b.created_at.strftime('%d.%m.%Y') if b.created_at else '–' }}</td>
|
||||
|
||||
26
src/redaktionskern/templates/status.html
Normal file
26
src/redaktionskern/templates/status.html
Normal file
@@ -0,0 +1,26 @@
|
||||
{# Einheitliche Status-Badges (semantisches Farbsystem).
|
||||
Aufruf: {% from "status.html" import status_badge %}
|
||||
{{ status_badge(eintrag.status) }} oder mit abweichendem Text:
|
||||
{{ status_badge(eintrag.status, status_anzeige[eintrag.status]) }} #}
|
||||
{% from "icons.html" import icon_warnung %}
|
||||
{% macro status_badge(status, text=none, extra="") -%}
|
||||
{% set farben = {
|
||||
'neuheit': 'bg-emerald-100 text-emerald-800',
|
||||
'neu': 'bg-emerald-100 text-emerald-800',
|
||||
'offen': 'bg-slate-200 text-slate-800',
|
||||
'in_bearbeitung': 'bg-sky-100 text-sky-800',
|
||||
'planung': 'bg-sky-100 text-sky-800',
|
||||
'abgeschlossen': 'bg-emerald-100 text-emerald-800',
|
||||
'aktiv': 'bg-emerald-100 text-emerald-800',
|
||||
'warnung': 'bg-amber-100 text-amber-800',
|
||||
'konflikt': 'bg-amber-100 text-amber-800',
|
||||
'pruefung': 'bg-amber-100 text-amber-800',
|
||||
'fehler': 'bg-red-100 text-red-800',
|
||||
'deaktiviert': 'bg-slate-200 text-slate-600',
|
||||
'archiviert': 'bg-slate-200 text-slate-600',
|
||||
} -%}
|
||||
<span class="inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs whitespace-nowrap {{ farben.get(status, 'bg-slate-100 text-slate-700') }} {{ extra }}">
|
||||
{%- if status in ('warnung', 'konflikt', 'pruefung') %}{{ icon_warnung("h-3.5 w-3.5") }} {% endif -%}
|
||||
{{ text if text is not none else status }}
|
||||
</span>
|
||||
{%- endmacro %}
|
||||
Reference in New Issue
Block a user