nodeinfo.html 121 lignes · 5468 octets
{% extends "base.html" %}

{% block title %}{{ page_title }}{% endblock %}

{% block navbar %}
{% include "components/navbar.html" %}
{% endblock %}

{% block content %}
<div class="container mx-auto px-4 py-8">

    <nav class="text-sm breadcrumbs mb-6" aria-label="breadcrumb">
        <ul>
            <li><a href="/">{{ breadcrumb_home }}</a></li>
            <li><a href="/admin">{{ breadcrumb_admin }}</a></li>
            <li><a href="/admin/fediverse">{{ breadcrumb_federation }}</a></li>
            <li aria-current="page">{{ breadcrumb_self }}</li>
        </ul>
    </nav>

    {% include "components/admin_tabs.html" %}

    <header class="mb-8">
        <h1 class="text-3xl font-bold mb-2">{{ heading }}</h1>
        <p class="text-base-content/70">{{ subtitle }}</p>
    </header>

    <div class="grid grid-cols-1 md:grid-cols-2 gap-6">

        {# Software card #}
        <section class="card bg-base-100 shadow-xl" aria-labelledby="card-sw">
            <div class="card-body">
                <h2 id="card-sw" class="card-title">{{ card_software }}</h2>
                <dl class="space-y-2 mt-2">
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_name }}</dt>
                        <dd class="font-mono">{{ software_name }}</dd>
                    </div>
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_version }}</dt>
                        <dd class="font-mono">{{ software_version }}</dd>
                    </div>
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_domain }}</dt>
                        <dd class="font-mono">{{ fediverse_domain }}</dd>
                    </div>
                </dl>
            </div>
        </section>

        {# Runtime config card #}
        <section class="card bg-base-100 shadow-xl" aria-labelledby="card-rt">
            <div class="card-body">
                <h2 id="card-rt" class="card-title">{{ card_runtime }}</h2>
                <dl class="space-y-2 mt-2">
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_enabled }}</dt>
                        <dd><span class="badge badge-success">{{ yes_label }}</span></dd>
                    </div>
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_trust_mode }}</dt>
                        <dd class="font-mono">{{ trust_mode }}</dd>
                    </div>
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_interop_scope }}</dt>
                        <dd class="font-mono">{{ interop_scope }}</dd>
                    </div>
                    <div class="flex justify-between">
                        <dt class="text-base-content/60">{{ label_authorized_fetch }}</dt>
                        <dd>
                            {% if authorized_fetch %}
                            <span class="badge badge-success">{{ yes_label }}</span>
                            {% else %}
                            <span class="badge">{{ no_label }}</span>
                            {% endif %}
                        </dd>
                    </div>
                </dl>
            </div>
        </section>

        {# Local users card #}
        <section class="card bg-base-100 shadow-xl" aria-labelledby="card-us">
            <div class="card-body">
                <h2 id="card-us" class="card-title">{{ card_users }}</h2>
                <div class="grid grid-cols-3 gap-2 mt-2">
                    <div class="stat p-2">
                        <div class="stat-title text-xs">{{ label_users_total }}</div>
                        <div class="stat-value text-2xl">{{ users_total }}</div>
                    </div>
                    <div class="stat p-2">
                        <div class="stat-title text-xs">{{ label_users_active_month }}</div>
                        <div class="stat-value text-2xl text-success">{{ users_active_month }}</div>
                    </div>
                    <div class="stat p-2">
                        <div class="stat-title text-xs">{{ label_users_active_halfyear }}</div>
                        <div class="stat-value text-2xl">{{ users_active_halfyear }}</div>
                    </div>
                </div>
            </div>
        </section>

        {# Remote identities card #}
        <section class="card bg-base-100 shadow-xl" aria-labelledby="card-rm">
            <div class="card-body">
                <h2 id="card-rm" class="card-title">{{ card_remotes }}</h2>
                <div class="grid grid-cols-2 gap-2 mt-2">
                    <div class="stat p-2">
                        <div class="stat-title text-xs">{{ label_remote_identities_active }}</div>
                        <div class="stat-value text-2xl">{{ remote_identities_active }}</div>
                    </div>
                    <div class="stat p-2">
                        <div class="stat-title text-xs">{{ label_remote_distinct_domains }}</div>
                        <div class="stat-value text-2xl">{{ remote_distinct_domains }}</div>
                    </div>
                </div>
            </div>
        </section>
    </div>
</div>
{% endblock %}