{% extends 'admin/base.html.twig' %}
{% block title %}Gestion des articles{% endblock %}
{% block body %}
<div class="d-flex justify-content-between align-items-center mb-4">
<h1><i class="fas fa-newspaper"></i> Articles</h1>
<div>
<a href="{{ path('admin_article_new') }}" class="btn btn-primary">
<i class="fas fa-plus"></i> Nouvel article
</a>
</div>
</div>
<div class="card mb-4">
<div class="card-body">
<div class="btn-group" role="group">
<a href="{{ path('admin_articles') }}"
class="btn btn-sm btn-outline-secondary {% if current_status == '' %}active{% endif %}">
Tous
</a>
<a href="{{ path('admin_articles', {status: 'draft'}) }}"
class="btn btn-sm btn-outline-secondary {% if current_status == 'draft' %}active{% endif %}">
Brouillons
</a>
<a href="{{ path('admin_articles', {status: 'pending'}) }}"
class="btn btn-sm btn-outline-warning {% if current_status == 'pending' %}active{% endif %}">
En attente
</a>
<a href="{{ path('admin_articles', {status: 'published'}) }}"
class="btn btn-sm btn-outline-success {% if current_status == 'published' %}active{% endif %}">
Publiés
</a>
<a href="{{ path('admin_articles', {status: 'rejected'}) }}"
class="btn btn-sm btn-outline-danger {% if current_status == 'rejected' %}active{% endif %}">
Rejetés
</a>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>Titre</th>
<th>Catégorie</th>
<th>Statut</th>
<th>IA</th>
<th>Vues</th>
<th>Date création</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for article in articles %}
<tr>
<td>{{ article.id }}</td>
<td>
<strong>{{ article.title|slice(0, 60) }}</strong>
{% if article.isFeatured %}
<i class="fas fa-star text-warning" title="À la une"></i>
{% endif %}
</td>
<td>
<span class="badge bg-secondary">{{ article.category.name }}</span>
</td>
<td>
{% set status_class = {
'draft': 'secondary',
'pending': 'warning',
'published': 'success',
'rejected': 'danger',
'archived': 'dark'
} %}
<span class="badge bg-{{ status_class[article.status] }}">
{{ article.status }}
</span>
</td>
<td>
{% if article.isAiGenerated %}
<i class="fas fa-robot text-primary"></i>
{% endif %}
</td>
<td>{{ article.viewCount }}</td>
<td>{{ article.createdAt|date('d/m/Y H:i') }}</td>
<td>
<div class="btn-group btn-group-sm">
<a href="{{ path('admin_article_edit', {id: article.id}) }}"
class="btn btn-outline-primary">
<i class="fas fa-edit"></i>
</a>
<a href="{{ path('article_preview', {id: article.id}) }}"
class="btn btn-outline-info"
target="_blank">
<i class="fas fa-eye"></i>
</a>
{% if article.status != 'published' %}
<form method="post"
action="{{ path('admin_article_publish', {id: article.id}) }}"
style="display:inline;">
<button type="submit"
class="btn btn-outline-success"
onclick="return confirm('Publier cet article ?')">
<i class="fas fa-check"></i>
</button>
</form>
{% endif %}
</div>
</td>
</tr>
{% else %}
<tr>
<td colspan="8" class="text-center text-muted">Aucun article</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% if articles.pageCount > 1 %}
<div class="mt-3">
{{ knp_pagination_render(articles) }}
</div>
{% endif %}
</div>
</div>
{% endblock %}