  
  footer:
    children:
    - link: accounts

{% 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: Solution Hub
      description: Curated collection of self hosted tools
      icon:
          class: fa-solid fa-network-wired
      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' %}

            children:
              - name: Administration
                description: Access the central admin console
                icon:
                  class: fa-solid fa-shield-halved
                url: https://{{domains.keycloak}}/admin
                iframe: {{ applications | get_features_iframe('keycloak') }}
              - name: Profile
                description: Update your personal admin settings
                icon:
                  class: fa-solid fa-user-gear
                url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/account
                iframe: {{ applications | get_features_iframe('keycloak') }}
              - name: Logout
                description: End your admin session securely
                icon:
                  class: fa-solid fa-right-from-bracket
                url: https://{{ domains.keycloak }}/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 %}

    - name: Support Us
      description: "Discover all the ways you can support our work."
      icon:
        class: fa-solid fa-hands-helping
      children:
        - name: Buy me a Coffee
          description: "Support our work with a coffee – every cup helps!"
          icon:
            class: fa-solid fa-mug-hot
          url: https://s.veen.world/buymeacoffee
        - name: Patreon
          description: "Become a member and support me monthly with exclusive content."
          icon:
            class: fa-brands fa-patreon
          url: https://s.veen.world/patreon
        - name: PayPal
          description: "Donate to our open source projects with a one-time or monthly PayPal contribution."
          icon:
            class: fa-brands fa-paypal
          url: https://s.veen.world/paypaldonate
        - name: GitHub Sponsors
          description: "Directly support our projects through GitHub Sponsors."
          icon:
            class: fa-brands fa-github
          url: https://s.veen.world/githubsponsors

{% if "sphinx" in group_names %}   

    - name: Documentation
      description: Access our comprehensive documentation and support resources to help you get the most out of the software.
      icon:
        class: fas fa-book
      url: https://{{domains.sphinx}}
      iframe: {{ applications | get_features_iframe('sphinx') }}

{% endif %}

{% if "presentation" in group_names %}   

    - name: Slides
      description: Checkout the presentation
      icon:
        class: "fas fa-chalkboard-teacher"
      url: https://{{domains.presentation}}
      iframe: {{ applications | get_features_iframe('presentation') }}

{% endif %}

    - name: Imprint
      description: Check out the imprint information
      icon:
          class: fa-solid fa-scale-balanced
      url: "{{service_provider.legal.imprint}}"
      iframe: true