{% extends "base.html" %} {% from "_macros.html" import icon, model_avatar %} {% block title %}Your settings - LLeMbas{% endblock %} {% block head %} {% endblock %} {% block body_attrs %} data-authenticated="true"{% endblock %} {% block body %}
{% include "partials/sidebar.html" %}

Your settings

{# Tabs are radio inputs plus sibling selectors: no JavaScript, and the chosen tab survives a re-render because the browser keeps the checked state. Each panel is a real fragment of the page, not a fetch. #}
{% if error %} {% endif %} {% if saved %}
{{ icon("check", "icon--sm") }} {{ saved }}
{% endif %} {# --- Account --- #}

Account

Name
{{ user.name }}
Email
{{ user.email }}
Role
{{ user.role }}
Groups
{% if user.groups %} {% for group in user.groups %}{{ group.name }} {% endfor %} {% else %} None {% endif %}

What you can do

{% if user.is_admin %} You are an administrator, so every permission applies. {% else %} From the instance baseline plus whatever your groups add. {% endif %}

    {% for key, granted in can.items() %}
  • {{ icon("check" if granted else "x", "icon--sm") }} {{ key }}
  • {% endfor %}
{# --- Models --- #}

Default model

What a new chat starts with. Existing chats keep their model.

{% if models %}
{% else %}

No models are available to you yet.

{% endif %}
{% if models %}

Available to you

In the order an administrator arranged them.

    {% for model in models %}
  • {{ model_avatar(model, cls="nav-item__avatar") }}
    {{ model.label }} {% if model.description %}
    {{ model.description }}
    {% endif %}
    {% for name, on in (model.capabilities_json or {}).items() %} {% if on %}{{ name }}{% endif %} {% endfor %} {% if model.pinned %}pinned{% endif %}
  • {% endfor %}
{% endif %}
{# --- Appearance --- #}

Theme

Saved to this browser and to your account, so it follows you.

{# --- Security --- #}

Change password

Every other session is signed out when the password changes. You stay signed in here.

At least 8 characters.

Session

{% endblock %}