{#
/**
 * @file
 * Generic theme implementation to display a developer- or team app entity.

 * Available variables:
 * - entity: The entity with limited access to object properties and methods.
 *   Only method names starting with "get", "has", or "is" and a few common
 *   methods such as "id", "label", and "bundle" are available. For example:
 *   - entity.getEntityTypeId() will return the entity type ID.
 *   - entity.hasField('field_example') returns TRUE if the entity includes
 *     field_example. (This does not indicate the presence of a value in this
 *     field.)
 *   Calling other methods, such as entity.delete(), will result in an exception.
 *   See \Drupal\apigee_edge\Entity\EdgeEntityInterface for a full list of
 *   methods.
 * - label: The title of the entity.
 * - content: All rendered field items. Use {{ content }} to print them all,
 *   or print a subset such as {{ content.field_example }}. Use
 *   {{ content|without('field_example') }} to temporarily suppress the printing
 *   of a given child element.
 * - url: Direct URL of the current entity.
 * - attributes: HTML attributes for the containing element.
 * - title_attributes: Same as attributes, except applied to the main title
 *   tag that appears in the template.
 * - content_attributes: Same as attributes, except applied to the main
 *   content tag that appears in the template.
 * - title_prefix: Additional output populated by modules, intended to be
 *   displayed in front of the main title tag that appears in the template.
 * - title_suffix: Additional output populated by modules, intended to be
 *   displayed after the main title tag that appears in the template.
 * - view_mode: View mode; for example, "teaser" or "full".
 *
 * @see \Drupal\apigee_edge\Entity\EdgeEntityViewBuilder::getBuildDefaults()
 * @see \Drupal\Core\Entity\EntityViewBuilder::getBuildDefaults()
 * @see template_preprocess_apigee_entity()
 * @see https://www.drupal.org/project/drupal/issues/2808481
 *
 * @ingroup themeable
 */
#}

{% if entity.getEntityTypeId in ['developer_app', 'team_app'] %}
  {% set classes = [
    'apigee-entity--app',
    'apigee-entity--app--view-mode-' ~ view_mode|clean_class
  ] %}
{% endif %}

{% block content %}
  <div{{ attributes.addClass(classes) }}>

    {{ content.warnings }}

    {% if content.credentials %}
      <div class="tab-pane show active" id="credentials-{{ tab_suffix }}">
        <div class="card apigee-entity--app__details">
          <h4 class="card-header bg-white">
            {{ "Details" }}
          </h4>
          <div class="card-body">
            {{ content|without('credentials', 'warnings', 'add_keys') }}
          </div>
        </div>

        <div class="card apigee-entity--app__credentials">
          <h4 class="card-header bg-white">
            {{ "Credentials"|t }}
            {{ content.add_keys }}
          </h4>
          <div class="card-body pb-0">
            {{ content.credentials.approved }}
          </div>
        </div>

        {% if content.credentials.revoked %}
          <div class="apigee-entity--app__credentials">
            {{ content.credentials.revoked }}
          </div>
        {% endif %}
      </div>
    {% endif %}
  </div>
{% endblock %}
