Spaces:
Sleeping
Sleeping
{% extends 'base.html' %} | |
{% block title %}Historique des modifications - {{ texte.titre }} - Administration{% endblock %} | |
{% block styles %} | |
<style> | |
.history-entry { | |
position: relative; | |
padding: 20px; | |
border-left: 3px solid var(--primary-color); | |
margin-bottom: 20px; | |
background-color: var(--card-bg); | |
border-radius: 8px; | |
box-shadow: var(--shadow); | |
} | |
.history-date { | |
position: absolute; | |
top: 10px; | |
right: 15px; | |
font-size: 0.9rem; | |
color: var(--muted-color); | |
} | |
.history-content { | |
background-color: var(--block-bg); | |
padding: 15px; | |
border-radius: 8px; | |
margin-top: 15px; | |
white-space: pre-wrap; | |
max-height: 300px; | |
overflow-y: auto; | |
border: 1px solid var(--border-color); | |
} | |
.empty-history { | |
text-align: center; | |
padding: 50px 20px; | |
background-color: var(--block-bg); | |
border-radius: 8px; | |
margin-top: 20px; | |
} | |
.timeline-container { | |
position: relative; | |
margin-left: 20px; | |
} | |
.timeline-line { | |
position: absolute; | |
left: 0; | |
top: 0; | |
bottom: 0; | |
width: 3px; | |
background-color: var(--border-color); | |
} | |
.timeline-dot { | |
position: absolute; | |
left: -8px; | |
top: 20px; | |
width: 18px; | |
height: 18px; | |
border-radius: 50%; | |
background-color: var(--primary-color); | |
z-index: 2; | |
} | |
</style> | |
{% endblock %} | |
{% block content %} | |
<div class="row"> | |
<div class="col-md-3"> | |
<div class="admin-sidebar"> | |
<h3 class="mb-3">Administration</h3> | |
<ul class="admin-nav"> | |
<li class="admin-nav-item"> | |
<a href="{{ url_for('admin_bp.dashboard') }}" class="admin-nav-link"> | |
<i class="fas fa-tachometer-alt"></i> Tableau de bord | |
</a> | |
</li> | |
<li class="admin-nav-item"> | |
<a href="{{ url_for('admin_bp.matieres') }}" class="admin-nav-link"> | |
<i class="fas fa-book"></i> Matières | |
</a> | |
</li> | |
<li class="admin-nav-item"> | |
<a href="{{ url_for('admin_bp.sous_categories') }}" class="admin-nav-link"> | |
<i class="fas fa-list"></i> Sous-catégories | |
</a> | |
</li> | |
<li class="admin-nav-item"> | |
<a href="{{ url_for('admin_bp.textes') }}" class="admin-nav-link active"> | |
<i class="fas fa-file-alt"></i> Textes | |
</a> | |
</li> | |
<li class="admin-nav-item"> | |
<a href="{{ url_for('admin_bp.images') }}" class="admin-nav-link"> | |
<i class="fas fa-images"></i> Images | |
</a> | |
</li> | |
<li class="admin-nav-item"> | |
<a href="{{ url_for('admin_bp.logout') }}" class="admin-nav-link"> | |
<i class="fas fa-sign-out-alt"></i> Déconnexion | |
</a> | |
</li> | |
</ul> | |
</div> | |
</div> | |
<div class="col-md-9"> | |
<div class="admin-container"> | |
<h2 class="admin-title">Historique des modifications : {{ texte.titre }}</h2> | |
<div class="mb-4"> | |
<a href="{{ url_for('admin_bp.edit_texte', texte_id=texte.id) }}" class="btn btn-secondary"> | |
<i class="fas fa-arrow-left"></i> Retour à l'éditeur | |
</a> | |
<a href="{{ url_for('admin_bp.textes') }}" class="btn btn-secondary"> | |
<i class="fas fa-list"></i> Liste des textes | |
</a> | |
</div> | |
<div class="card mb-4"> | |
<div class="card-header"> | |
<h4><i class="fas fa-history"></i> Versions précédentes</h4> | |
</div> | |
<div class="card-body"> | |
{% if historiques %} | |
<div class="timeline-container"> | |
<div class="timeline-line"></div> | |
<!-- Current version --> | |
<div class="history-entry"> | |
<div class="timeline-dot"></div> | |
<h5>Version actuelle</h5> | |
<span class="history-date"> | |
<i class="fas fa-clock"></i> {{ texte.updated_at.strftime('%d/%m/%Y à %H:%M') }} | |
</span> | |
<div class="history-content">{{ texte.contenu }}</div> | |
</div> | |
<!-- Previous versions --> | |
{% for historique in historiques %} | |
<div class="history-entry"> | |
<div class="timeline-dot"></div> | |
<h5>Version antérieure #{{ loop.index }}</h5> | |
<span class="history-date"> | |
<i class="fas fa-clock"></i> {{ historique.date_modification.strftime('%d/%m/%Y à %H:%M') }} | |
</span> | |
<div class="history-content">{{ historique.contenu_precedent }}</div> | |
</div> | |
{% endfor %} | |
</div> | |
{% else %} | |
<div class="empty-history"> | |
<i class="fas fa-info-circle fa-3x mb-3"></i> | |
<h4>Aucun historique disponible</h4> | |
<p>Ce texte n'a pas encore été modifié depuis sa création.</p> | |
</div> | |
{% endif %} | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
{% endblock %} | |
{% block scripts %} | |
<script src="{{ url_for('static', filename='js/admin.js') }}"></script> | |
{% endblock %} | |