{# Macro badge
Uso:
{% from "core/components/badge.html" import badge, status_badge, status_pill %}
{{ badge("running", variant="success") }}
{{ status_badge(app.live_status) }}
{{ status_pill("Ejecutando", tone="info", icon="loader-circle", spin=true) }}
status_pill no interpreta el estado: la app decide etiqueta, tono e icono
(cada dominio da a "running" o "pending" un significado distinto).
tone: neutral | brand | action | success | warning | danger | info
#}
{% from "core/components/icon.html" import icon as _icon %}
{%- set STATUS_MAP = {
"running": "success",
"stopped": "neutral",
"error": "danger",
"failed": "danger",
"building": "muted",
"pending": "info",
"built": "success",
"approved": "success",
"pending-approval": "muted",
"none": "neutral"
} -%}
{% macro badge(label, variant="neutral", extra_class="") %}
{%- endmacro %}
{% macro status_badge(status, prefix="") %}
{%- set _variant = STATUS_MAP.get(status, "neutral") -%}
{{ prefix ~ status }}
{%- endmacro %}
{% macro status_pill(label, tone="neutral", icon=none, spin=false) %}
{%- if icon %}{{ _icon(icon, class="dg-status-icon" ~ (" animate-spin" if spin else "")) }}{% endif -%}
{{ label -}}
{%- endmacro %}