{% macro angel() %}
    <span class="icon-icon_angel"></span>
{% endmacro %}

{% macro icon(icon, color) %}
    <span class="bi bi-{{ icon }} {% if color %} text-{{ color }} {% endif %}"></span>
{% endmacro %}

{% macro alert(message, type, raw) %}
    <div class="alert alert-{{ type|default('info') }}">
        {%- if raw|default(false) -%}
            {{ message|raw }}
        {%- else -%}
            {{ message }}
        {%- endif -%}
    </div>
{% endmacro %}

{% macro user(user, opt) %}
    <a href="{{ opt.url|default(url('users', {'action': 'view', 'user_id': user.id})) }}"
            {%- if not user.state.arrived %} class="text-muted"{% endif -%}
    >
        {{ _self.angel() }} {{ user.name }}
        {%- if opt.pronoun|default(false) and config('enable_pronoun')
            and user.personalData.pronoun %}
            ({{ user.personalData.pronoun }})
        {% endif -%}
    </a>
{% endmacro %}

{% macro button(label, url, type, size, title, icon_left, icon_right) %}
    <a href="{{ url }}" class="btn btn-{{ type|default('secondary') }}{% if size %} btn-{{ size }}{% endif %}"{% if title %} title="{{ title }}"{% endif %}>
        {%- if icon_left is defined %}{{ _self.icon(icon_left) }}{% endif %}
        {{ label }}
        {%- if icon_right is defined %}{{ _self.icon(icon_right) }}{% endif %}
    </a>
{% endmacro %}

{% macro info(text) %}
    <span class="help-block">{{ _self.icon('info-circle') }}{{ text }}</span>
{%- endmacro %}

{% macro type_bg_class() -%}
    {% if theme.type == 'light' %}bg-white{% else %}bg-dark{% endif %}
{%- endmacro %}

{% macro type_text_class() -%}
    {% if theme.type == 'light' %}text-dark{% else %}text-light{% endif %}
{%- endmacro %}
