change template panel left, create dashboard

This commit is contained in:
Tykayn 2025-09-08 18:40:08 +02:00 committed by tykayn
parent 381f378db4
commit 539b4c094f
24 changed files with 1367 additions and 166 deletions

View file

@ -4,7 +4,7 @@
{% block body %}
<div class="container mt-4">
{% include 'admin/_wiki_navigation.html.twig' %}
<h1>Pages Wiki OpenStreetMap</h1>
<p class="lead">Outil de qualité des des pages wiki OpenStreetMap en français et en anglais pour les clés OSM

View file

@ -25,28 +25,34 @@
<div class="card-header bg-primary text-white">
<h3>Version anglaise</h3>
<p class="mb-0">
<small>Dernière modification: {{ page.en_page.last_modified }}</small>
<small>Dernière modification: {{ page.en_page is defined and page.en_page.last_modified is defined ? page.en_page.last_modified : 'Non disponible' }}</small>
</p>
</div>
<div class="card-body">
<ul class="list-group mb-3">
<li class="list-group-item d-flex justify-content-between align-items-center">
Sections
<span class="badge bg-primary rounded-pill">{{ page.en_page.sections }}</span>
<span class="badge bg-primary rounded-pill">{{ page.en_page is defined ? page.en_page.sections|default(0) : 0 }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Mots
<span class="badge bg-primary rounded-pill">{{ page.en_page.word_count|default(0) }}</span>
<span class="badge bg-primary rounded-pill">{{ page.en_page is defined ? page.en_page.word_count|default(0) : 0 }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Liens
<span class="badge bg-primary rounded-pill">{{ page.en_page.link_count|default(0) }}</span>
<span class="badge bg-primary rounded-pill">{{ page.en_page is defined ? page.en_page.link_count|default(0) : 0 }}</span>
</li>
</ul>
<div class="d-grid gap-2">
<a href="{{ page.en_page.url }}" target="_blank" class="btn btn-outline-primary">
<i class="bi bi-box-arrow-up-right"></i> Voir la page anglaise
</a>
{% if page.en_page is defined and page.en_page.url is defined %}
<a href="{{ page.en_page.url }}" target="_blank" class="btn btn-outline-primary">
<i class="bi bi-box-arrow-up-right"></i> Voir la page anglaise
</a>
{% else %}
<button class="btn btn-outline-secondary" disabled>
<i class="bi bi-box-arrow-up-right"></i> URL non disponible
</button>
{% endif %}
</div>
</div>
</div>

View file

@ -26,18 +26,27 @@
{% for member in team_members %}
<div class="col-md-4 mb-3">
<div class="d-flex align-items-center">
<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="ms-2 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 %}
{% 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>
@ -83,13 +92,22 @@
</td>
<td>{{ change.timestamp }}</td>
<td>
{% if change.user_url %}
<a href="{{ change.user_url }}" target="_blank" class="text-decoration-none">
<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 }}
</a>
{% else %}
{{ change.user }}
{% endif %}
{% endif %}
</div>
</td>
<td>
{{ change.comment }}