{% extends "vng_api_common/master.html" %}
{% load markup_tags %}

{% block content %}

  <div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
    <h1 class="display-4">{{ settings.PROJECT_NAME }} kanalen</h1>
    <p class="lead">{{ settings.SITE_TITLE }}</p>
  </div>

  <div class="container">

    <p>
      Kanalen worden typisch per component gedefinieerd. Producers versturen
      berichten op bepaalde kanalen, consumers ontvangen deze. Consumers
      abonneren zich via een notificatiecomponent (zoals
      {{ 'https://ref.tst.vng.cloud/nrc/api/v1/schema/'|urlize }}) op berichten.
    </p>

    <p>
      Hieronder staan de kanalen beschreven die door deze component gebruikt
      worden, met de kenmerken bij elk bericht.
    </p>

    <p>
      De architectuur van de notificaties staat beschreven op
      {{ 'https://ref.tst.vng.cloud/ontwikkelaars/algemeen/notificaties'|urlize }}.
    </p>

    {% for kanaal in kanalen %}
      <a name="#{{ kanaal.label }}"></a>
      <h2>{{ kanaal.label|title }}</h2>

      <p><strong>Kanaal</strong></p>
      <p>
        <code>{{ kanaal.label }}</code>
      </p>

      <p>
        {{ kanaal.description|default:""|urlize|apply_markup:"markdown" }}
      </p>

      <p><strong>Resources en acties</strong></p>

      <ul>
        {% for resource, actions in kanaal.get_usage %}
          <li>
            <code>{{ resource }}</code>:
            {{ actions|join:", " }}
          </li>
        {% endfor %}
      </ul>
    {% endfor %}

  </div>

{% endblock content %}
