173 lines
No EOL
10 KiB
Twig
173 lines
No EOL
10 KiB
Twig
{% extends 'base.html.twig' %}
|
||
|
||
{% block title %}Changements récents Wiki OSM{% endblock %}
|
||
|
||
{% block body %}
|
||
<div class="container mt-4">
|
||
|
||
<h1>Changements récents Wiki OpenStreetMap</h1>
|
||
<p class="lead">Liste des changements récents dans l'espace de noms français du wiki OpenStreetMap.</p>
|
||
|
||
{% if last_updated %}
|
||
<div class="alert alert-info">
|
||
<i class="bi bi-info-circle"></i> Dernière mise à jour : {{ last_updated|date('d/m/Y H:i') }}
|
||
</div>
|
||
{% endif %}
|
||
|
||
{% if team_members|length > 0 %}
|
||
<div class="card mb-4">
|
||
<div class="card-header bg-success text-white">
|
||
<h2>Équipe Wiki OSM FR</h2>
|
||
<p class="mb-0">Contributeurs classés par nombre de modifications</p>
|
||
</div>
|
||
<div class="card-body">
|
||
<div class="row">
|
||
{% for member in team_members %}
|
||
<div class="col-md-4 mb-3">
|
||
<div class="d-flex align-items-center">
|
||
{% if member.avatar_url is defined and member.avatar_url %}
|
||
<img src="{{ member.avatar_url }}" alt="{{ member.username }}" class="rounded-circle me-2" style="width: 40px; height: 40px; object-fit: cover;">
|
||
{% else %}
|
||
<div class="rounded-circle bg-secondary text-white d-flex align-items-center justify-content-center me-2" style="width: 40px; height: 40px;">
|
||
<span>{{ member.username|first|upper }}</span>
|
||
</div>
|
||
{% endif %}
|
||
<div>
|
||
<a href="{{ member.user_url }}" target="_blank" class="text-decoration-none">
|
||
<span class="fw-bold">{{ member.username }}</span>
|
||
</a>
|
||
<span class="badge bg-primary ms-2">{{ member.contributions }}</span>
|
||
<div class="small">
|
||
<span class="text-success" title="Caractères ajoutés">+{{ member.chars_added }}</span>
|
||
{% if member.chars_changed > 0 %}
|
||
<span class="text-warning" title="Caractères modifiés">~{{ member.chars_changed }}</span>
|
||
{% endif %}
|
||
{% if member.chars_deleted > 0 %}
|
||
<span class="text-danger" title="Caractères supprimés">-{{ member.chars_deleted }}</span>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
|
||
<div class="card mb-4">
|
||
<div class="card-header bg-primary text-white">
|
||
<h2>Changements récents</h2>
|
||
<p class="mb-0">
|
||
<a href="https://wiki.openstreetmap.org/w/index.php?hidebots=1&hidepreviousrevisions=1&hidecategorization=1&hideWikibase=1&hidelog=1&hidenewuserlog=1&namespace=202&limit=500&days=30&enhanced=1&title=Special:RecentChanges&urlversion=2"
|
||
target="_blank" class="text-white">
|
||
<i class="bi bi-box-arrow-up-right"></i> Voir sur le wiki OSM
|
||
</a>
|
||
</p>
|
||
</div>
|
||
<div class="card-body">
|
||
{% if recent_changes|length > 0 %}
|
||
<div class="table-responsive">
|
||
<table class="table table-striped table-hover">
|
||
<thead class="thead-dark">
|
||
<tr>
|
||
<th>Page</th>
|
||
<th>Date</th>
|
||
<th>Utilisateur</th>
|
||
<th>Commentaire</th>
|
||
<th>Taille</th>
|
||
<th>Actions</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{% for change in recent_changes %}
|
||
<tr>
|
||
<td>
|
||
<strong>
|
||
<a href="{{ change.page_url }}" target="_blank" class="text-decoration-none">
|
||
{{ change.page_name }}
|
||
</a>
|
||
</strong>
|
||
</td>
|
||
<td>{{ change.timestamp }}</td>
|
||
<td>
|
||
<div class="d-flex align-items-center">
|
||
{% if change.avatar_url is defined and change.avatar_url %}
|
||
<img src="{{ change.avatar_url }}" alt="{{ change.user }}" class="rounded-circle me-2" style="width: 30px; height: 30px; object-fit: cover;">
|
||
{% else %}
|
||
<div class="rounded-circle bg-secondary text-white d-flex align-items-center justify-content-center me-2" style="width: 30px; height: 30px; font-size: 0.8rem;">
|
||
<span>{{ change.user|first|upper }}</span>
|
||
</div>
|
||
{% endif %}
|
||
{% if change.user_url %}
|
||
<a href="{{ change.user_url }}" target="_blank" class="text-decoration-none">
|
||
{{ change.user }}
|
||
</a>
|
||
{% else %}
|
||
{{ change.user }}
|
||
{% endif %}
|
||
</div>
|
||
</td>
|
||
<td>
|
||
{{ change.comment }}
|
||
{% if change.added_text or change.removed_text %}
|
||
<div class="mt-1 small">
|
||
{% if change.added_text %}
|
||
<span class="text-success">{{ change.added_text }}</span>
|
||
{% endif %}
|
||
{% if change.removed_text %}
|
||
<span class="text-danger">{{ change.removed_text }}</span>
|
||
{% endif %}
|
||
</div>
|
||
{% endif %}
|
||
</td>
|
||
<td>
|
||
{% if change.change_size starts with '+' or change.change_size > 0 %}
|
||
<span class="text-success">{{ change.change_size }}</span>
|
||
{% elseif change.change_size starts with '−' or change.change_size < 0 %}
|
||
<span class="text-danger">{{ change.change_size }}</span>
|
||
{% else %}
|
||
{{ change.change_size }}
|
||
{% endif %}
|
||
</td>
|
||
<td>
|
||
<a href="{{ change.page_url }}" target="_blank" class="btn btn-sm btn-outline-primary">
|
||
<i class="bi bi-box-arrow-up-right"></i> Voir
|
||
</a>
|
||
{% if change.diff_url %}
|
||
<a href="{{ change.diff_url }}" target="_blank" class="btn btn-sm btn-outline-secondary mt-1">
|
||
<i class="bi bi-file-diff"></i> Diff
|
||
</a>
|
||
{% endif %}
|
||
</td>
|
||
</tr>
|
||
{% endfor %}
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
{% else %}
|
||
<div class="alert alert-info">
|
||
<p><i class="bi bi-info-circle"></i> Aucun changement récent n'a été trouvé.</p>
|
||
</div>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card mb-4">
|
||
<div class="card-header">
|
||
<h2>À propos des changements récents</h2>
|
||
</div>
|
||
<div class="card-body">
|
||
<p>Cette page affiche les changements récents dans l'espace de noms français (FR:) du wiki OpenStreetMap.</p>
|
||
<p>Ces informations sont utiles pour suivre les traductions manquantes et les mises à jour des pages wiki.</p>
|
||
<p>Les données sont mises à jour automatiquement toutes les heures.</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="mt-3">
|
||
<a href="{{ path('app_admin_wiki') }}" class="btn btn-secondary">
|
||
<i class="bi bi-arrow-left"></i> Retour à la liste des pages wiki
|
||
</a>
|
||
</div>
|
||
</div>
|
||
{% endblock %} |