{% extends 'admin/base.html.twig' %}

{% block title %}Dokumente{% endblock %}

{% block body %}

    <div class="d-flex justify-content-between align-items-center mb-4 flex-wrap gap-2">
        <div>
            <h1 class="h3 mb-1">
                <i class="bi bi-card-list"></i> Dokumente
            </h1>
            <div class="small text-muted">
                Übersicht über Dokumente, aktive Versionen, Ingest-Zustände und Tag-Zuordnungen.
            </div>
        </div>

        <a href="{{ path('admin_document_new') }}"
           class="btn btn-sm btn-outline-info">
            Neues Dokument
        </a>
    </div>

    {% for message in app.flashes('success') %}
        <div class="alert alert-success shadow-sm">
            {{ message }}
        </div>
    {% endfor %}

    {% for message in app.flashes('danger') %}
        <div class="alert alert-danger shadow-sm">
            {{ message }}
        </div>
    {% endfor %}

    {% for message in app.flashes('info') %}
        <div class="alert alert-info shadow-sm">
            {{ message }}
        </div>
    {% endfor %}

    <div class="card bg-dark border-secondary text-light mb-4 shadow-sm">
        <div class="card-body row g-4">
            <div class="col-lg-7">
                <h5 class="text-info mb-3">Worauf achten?</h5>
                <ul class="small mb-0">
                    <li><strong>INDEXED</strong> bedeutet: aktive Version ist sauber im Wissensindex.</li>
                    <li><strong>PENDING</strong> oder <strong>FAILED</strong> bedeuten: Dokument prüfen und ggf. Ingest erneut anstoßen.</li>
                    <li><strong>Tags</strong> sollten fachlich präzise sein und nicht nur generische Oberbegriffe abbilden.</li>
                    <li>Die aktive Version ist die fachlich führende Version des Dokuments.</li>
                </ul>
            </div>

            <div class="col-lg-5">
                <h5 class="text-info mb-3">Schnellzugriff</h5>
                <div class="small text-light">
                    Über <strong>Tags</strong> gelangst du direkt in die Tag-Pflege des Dokuments.
                    Über <strong>Details</strong> steuerst du Versionen, Aktivierung, Re-Ingest und Löschung.
                </div>
            </div>
        </div>
    </div>

    {% if documents is empty %}

        <div class="alert alert-secondary shadow-sm">
            Keine Dokumente vorhanden.
        </div>

    {% else %}

        <div class="card bg-black border-secondary shadow-sm">
            <div class="card-body p-0">

                <div class="d-flex justify-content-between align-items-center px-3 py-3 border-bottom border-secondary flex-wrap gap-2">
                    <div>
                        <strong class="text-info">Vorhandene Dokumente</strong>
                        <span class="small text-muted ms-2">{{ documents|length }} Einträge</span>
                    </div>

                    <div class="small text-muted">
                        Neueste Dokumente stehen oben.
                    </div>
                </div>

                <div class="table-responsive">
                    <table class="table table-dark table-striped table-hover align-middle mb-0">
                        <thead class="table-secondary text-dark">
                        <tr>
                            <th style="width: 20%">Titel</th>
                            <th style="width: 14%">ID</th>
                            <th style="width: 8%">Typ</th>
                            <th style="width: 8%">Status</th>
                            <th style="width: 10%">Indexierung</th>
                            <th style="width: 7%">Versionen</th>
                            <th style="width: 8%">Aktive Version</th>
                            <th style="width: 7%">Tags</th>
                            <th style="width: 8%">Erstellt</th>
                            <th class="text-end" style="width: 10%">Aktionen</th>
                        </tr>
                        </thead>
                        <tbody>

                        {% for document in documents %}
                            <tr>
                                <td>
                                    <div class="fw-semibold">
                                        <a href="{{ path('admin_document_show', {id: document.id}) }}"
                                           class="text-light text-decoration-none">
                                            {{ document.title }}
                                        </a>
                                    </div>

                                    {% if document.currentVersion and document.currentVersion.filePath %}
                                        <div class="small text-muted mt-1">
                                            Aktive Datei vorhanden
                                        </div>
                                    {% endif %}
                                </td>

                                <td class="small text-info">
                                    <code>{{ document.id }}</code>
                                </td>

                                <td>
                                    {% if document.currentVersion %}
                                        <span class="badge bg-secondary">
                                            {{ document.currentVersion.fileTypeLabel }}
                                        </span>
                                    {% else %}
                                        <span class="badge bg-dark border border-secondary">
                                            -
                                        </span>
                                    {% endif %}
                                </td>

                                <td>
                                    {% if document.status == 'ACTIVE' %}
                                        <span class="badge bg-success">Aktiv</span>
                                    {% else %}
                                        <span class="badge bg-secondary">Archiviert</span>
                                    {% endif %}
                                </td>

                                <td>
                                    {% if document.currentVersion %}
                                        {% if document.currentVersion.ingestStatus == 'INDEXED' %}
                                            <span class="badge bg-success">INDEXED</span>
                                        {% elseif document.currentVersion.ingestStatus == 'PENDING' %}
                                            <span class="badge bg-warning text-dark">PENDING</span>
                                        {% elseif document.currentVersion.ingestStatus == 'RUNNING' %}
                                            <span class="badge bg-warning text-dark">RUNNING</span>
                                        {% elseif document.currentVersion.ingestStatus == 'FAILED' %}
                                            <span class="badge bg-danger">FAILED</span>
                                        {% else %}
                                            <span class="badge bg-dark border border-secondary">
                                                {{ document.currentVersion.ingestStatus ?: '-' }}
                                            </span>
                                        {% endif %}
                                    {% else %}
                                        <span class="badge bg-dark border border-secondary">-</span>
                                    {% endif %}
                                </td>

                                <td>
                                    <span class="badge text-bg-dark border border-secondary">
                                        {{ document.versions|length }}
                                    </span>
                                </td>

                                <td>
                                    {% if document.currentVersion %}
                                        <span class="badge bg-info text-dark">
                                            v{{ document.currentVersion.versionNumber }}
                                        </span>
                                    {% else %}
                                        -
                                    {% endif %}
                                </td>

                                <td>
                                    <span class="badge text-bg-dark border border-secondary">
                                        {{ document.tags|length }}
                                    </span>
                                </td>

                                <td class="small">
                                    {{ document.createdAt|date('d.m.Y H:i') }}
                                </td>

                                <td class="text-end">
                                    <div class="d-flex justify-content-end flex-wrap gap-2">
                                        <a class="btn btn-sm btn-outline-info"
                                           href="{{ path('admin_document_tags_edit', {id: document.id}) }}">
                                            Tags
                                        </a>

                                        <a class="btn btn-sm btn-outline-light"
                                           href="{{ path('admin_document_show', {id: document.id}) }}">
                                            Details
                                        </a>

                                        {% if is_granted('ROLE_SUPER_ADMIN') %}
                                            <form method="post"
                                                  action="{{ path('admin_document_delete', {id: document.id}) }}"
                                                  class="d-inline"
                                                  onsubmit="return confirm('Dokument wirklich löschen? Der Inhalt wird per Delete-Job aus dem Index entfernt.');">
                                                <input type="hidden"
                                                       name="_token"
                                                       value="{{ csrf_token('delete_document_' ~ document.id) }}">

                                                <button class="btn btn-sm btn-outline-danger">
                                                    Löschen
                                                </button>
                                            </form>
                                        {% endif %}
                                    </div>
                                </td>
                            </tr>
                        {% endfor %}

                        </tbody>
                    </table>
                </div>

            </div>
        </div>

    {% endif %}

    <div class="card bg-dark border-secondary text-light mt-4 shadow-sm">
        <div class="card-body">
            <h5 class="text-info mb-3">Hinweis zum Dokument-Lifecycle</h5>
            <div class="small text-light">
                Änderungen an aktiven Versionen und Löschvorgänge wirken sich direkt auf den Wissensindex aus.
                Zugewiesene Tags beeinflussen zusätzlich die semantische Routing-Ebene des Systems.
                Dokumente mit schwachen oder fehlenden Tags sind oft ein guter Kandidat für fachliche Nachpflege.
            </div>
        </div>
    </div>

{% endblock %}