{{ attach_library('ui_patterns/jc_statusicon.jc_statusicon_lib') }}

{# VARIABLES #}
{% set status = data.status|default("good") %}
{% set icon_left = icon_left|default(null) %}
{% set pass_through = data.passThrough|default({}) %}

{# Status mapping #}
{% set statuses = [
  {'status':'good', 'icon_left': global_status_icon_good|default('fas fa-check-circle'), 'icon_right': null},
  {'status':'minor', 'icon_left': global_status_icon_minor|default('fas fa-exclamation-circle'), 'icon_right': null},
  {'status':'major', 'icon_left': global_status_icon_major|default('fas fa-exclamation-triangle'), 'icon_right': null},
  {'status':'incidents', 'icon_left': global_status_icon_incidents|default('fas fa-exclamation-circle'), 'icon_right': null},
  {'status':'stationalert', 'icon_left': global_status_icon_stationalert|default('fas fa-info-circle'), 'icon_right': null},
  {'status':'noservice', 'icon_left': global_status_icon_noservice|default('fas fa-exclamation-circle'), 'icon_right': null},
  {'status':'amended', 'icon_left': global_status_icon_amended|default('fas fa-exclamation-circle'), 'icon_right': null},
  {'status':'strike', 'icon_left': global_status_icon_strike|default('fas fa-exclamation-circle'), 'icon_right': null},
] %}

{# Status icons #}
{% for item in statuses %}
  {% if status == item.status %}
    {% set icon_left = icon_left ? icon_left : item.icon_left %}
  {% endif %}
{% endfor %}

{# TEMPLATE #}

<span class="jcsi {{ status }}">
{# Icons can now be stacked #}
{% if icon_left is iterable %}
  <span class="f-stack">
    <i class="{{ icon_left[0] }}"></i>
    <i class="{{ icon_left[1] }}"></i>
  </span>
{% else %}
  <i class="{{ icon_left }}"></i>
{% endif %}
</span>
