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

{% block title %}Sauvegardes{% endblock %}

{% block body %}
<div class="row">
    <div class="col-12">
        <div class="page-title-box d-sm-flex align-items-center justify-content-between">
            <h4 class="mb-sm-0 font-size-18">Sauvegardes</h4>
            <div class="page-title-right">
                <ol class="breadcrumb m-0">
                    <li class="breadcrumb-item"><a href="{{ path('app_dashboard') }}">Accueil</a></li>
                    <li class="breadcrumb-item active">Sauvegardes</li>
                </ol>
            </div>
        </div>
    </div>
</div>

<div class="row">
    <div class="col-12">
        <div class="card">
            <div class="card-body">
                <div class="d-flex justify-content-between align-items-center mb-3">
                    <div>
                        <span class="text-muted">Total : <strong>{{ backups|length }}</strong> sauvegarde(s)</span>
                        {% if totalSize > 0 %}
                            <span class="text-muted ms-3">Espace : <strong>
                                {% if totalSize >= 1048576 %}{{ (totalSize / 1048576)|number_format(2, ',', ' ') }} Mo
                                {% elseif totalSize >= 1024 %}{{ (totalSize / 1024)|number_format(1, ',', ' ') }} Ko
                                {% else %}{{ totalSize }} o{% endif %}
                            </strong></span>
                        {% endif %}
                    </div>
                    <form method="post" action="{{ path('app_admin_backup_run') }}" onsubmit="return confirm('Lancer une sauvegarde maintenant ?');">
                        <input type="hidden" name="_token" value="{{ csrf_token('backup_run') }}">
                        <button type="submit" class="btn btn-primary btn-sm">
                            <i class="mdi mdi-database-arrow-up"></i> Lancer sauvegarde
                        </button>
                    </form>
                </div>

                <div class="alert alert-info">
                    <i class="mdi mdi-information-outline"></i>
                    Sauvegarde automatique quotidienne à <strong>03h00</strong>. Rétention : 14 jours. Notification email en cas d'échec.
                </div>

                {% if backups is empty %}
                    <div class="text-center py-5 text-muted">
                        Aucune sauvegarde disponible.
                    </div>
                {% else %}
                    <div class="table-responsive">
                        <table class="table table-striped table-hover">
                            <thead>
                                <tr>
                                    <th>Date</th>
                                    <th>Type</th>
                                    <th>Fichier</th>
                                    <th class="text-end">Taille</th>
                                    <th class="text-center" style="width: 120px;">Action</th>
                                </tr>
                            </thead>
                            <tbody>
                                {% for b in backups %}
                                    <tr>
                                        <td>{{ b.mtime|date('d/m/Y H:i:s') }}</td>
                                        <td>
                                            {% if b.type == 'DB' %}
                                                <span class="badge bg-primary">Base de données</span>
                                            {% else %}
                                                <span class="badge bg-secondary">Fichiers</span>
                                            {% endif %}
                                        </td>
                                        <td><code>{{ b.name }}</code></td>
                                        <td class="text-end">
                                            {% if b.size >= 1048576 %}{{ (b.size / 1048576)|number_format(2, ',', ' ') }} Mo
                                            {% elseif b.size >= 1024 %}{{ (b.size / 1024)|number_format(1, ',', ' ') }} Ko
                                            {% else %}{{ b.size }} o{% endif %}
                                        </td>
                                        <td class="text-center">
                                            <a href="{{ path('app_admin_backup_download', {name: b.name}) }}" class="btn btn-sm btn-outline-primary" title="Télécharger">
                                                <i class="mdi mdi-download"></i>
                                            </a>
                                        </td>
                                    </tr>
                                {% endfor %}
                            </tbody>
                        </table>
                    </div>
                {% endif %}
            </div>
        </div>
    </div>
</div>
{% endblock %}
