applications:
{% if (portfolio_menu_data.categorized is mapping and portfolio_menu_data.categorized | length > 0) 
   or (portfolio_menu_data.uncategorized is sequence and portfolio_menu_data.uncategorized | length > 0) %}

    - name: Apps
      description: Browse, configure and launch all available applications
      icon:
          class: fa fa-th-large
      children:

    {# Render all categories #}
    {% for category, apps in portfolio_menu_data.categorized.items() %}

      - name: {{ category }}
        description: {{ portfolio_menu_categories[category].description }}
        icon:
          class: {{ portfolio_menu_categories[category].icon }}
        children:
        
        {% for app in apps %}

          - name: {{ app.title }}
            description: {{ app.text }}
            icon: {{ app.icon }}
            url: {{ app.url }}
            iframe: {{ app.iframe }}
            {% if app.title == 'Keycloak' %}
            {% set keycloak_url = domains | get_url('web-app-keycloak', WEB_PROTOCOL) %}
            {{ domains | get_url(application_id, WEB_PROTOCOL) }}
            children:
              - name: Administration
                description: Access the central admin console
                icon:
                  class: fa-solid fa-shield-halved
                url: {{ keycloak_url }}/admin
                iframe: {{ applications | get_app_conf( 'web-app-keycloak', 'features.desktop', False) }}
              - name: Profile
                description: Update your personal admin settings
                icon:
                  class: fa-solid fa-user-gear
                url: {{ keycloak_url }}/realms/{{ OIDC.CLIENT.ID }}/account
                iframe: {{ applications | get_app_conf( 'web-app-keycloak', 'features.desktop', False) }}
              - name: Logout
                description: End your admin session securely
                icon:
                  class: fa-solid fa-right-from-bracket
                url: {{ keycloak_url }}/realms/{{ OIDC.CLIENT.ID }}/protocol/openid-connect/logout
                iframe: false

            {% endif %}

        {% endfor %}

    {% endfor %}

{# Render Uncategorized #}
{% if portfolio_menu_data.uncategorized %}

      - name: Uncategorized
        description: Tools without a defined category
        icon:
          class: fa-solid fa-question
        children:

{% for app in portfolio_menu_data.uncategorized %}

        - name: {{ app.title }}
          description: {{ app.text }}
          icon: {{ app.icon }}
          url: {{ app.url }}
          iframe: {{ app.iframe }}

{% endfor %}

{% endif %}

{% endif %}
