Statistik auf eigene Seite ausgelagert, umfangreich und modern
- Eigene Route /statistik mit umfassender Auswertung pro Benutzer - KPI-Karten, Monats-Trend (SVG), Verteilung nach Status/Art/Ort, Bewerbungs-Funnel und letzte Aktivitaet als Timeline - Statistik-Eintrag in der Top-Navigation (Desktop + Mobil) - Kurzsstatistik vom Dashboard entfernt Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -130,53 +130,6 @@
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<!-- Statistics Section -->
|
||||
<div class="bg-white dark:bg-gray-800 rounded-lg shadow-md p-6 mb-8">
|
||||
<h2 class="text-lg font-semibold text-gray-800 dark:text-white mb-6">Statistik</h2>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
<!-- Total Applications -->
|
||||
<div class="bg-blue-50 dark:bg-gray-700 rounded-lg p-4 text-center">
|
||||
<div class="text-3xl font-bold text-blue-600 dark:text-blue-400"><%= statistics.total %></div>
|
||||
<div class="text-gray-600 dark:text-gray-400 mt-2">Gesamtbewerbungen</div>
|
||||
</div>
|
||||
|
||||
<!-- By Application Type -->
|
||||
<div class="bg-green-50 dark:bg-gray-700 rounded-lg p-4">
|
||||
<h3 class="text-sm font-medium text-gray-700 dark:text-gray-300 mb-3">Nach Bewerbungsart</h3>
|
||||
<div class="space-y-2">
|
||||
<% if (statistics.byArt.length > 0) { %>
|
||||
<% statistics.byArt.forEach(item => { %>
|
||||
<div class="flex justify-between text-sm">
|
||||
<span class="text-gray-600 dark:text-gray-400"><%= item.art %></span>
|
||||
<span class="font-medium text-gray-800 dark:text-white"><%= item.count %></span>
|
||||
</div>
|
||||
<% }); %>
|
||||
<% } else { %>
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">Keine Daten verfügbar</p>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- By Status -->
|
||||
<div class="bg-purple-50 dark:bg-gray-700 rounded-lg p-4">
|
||||
<h3 class="text-sm font-medium text-gray-700 dark:text-gray-300 mb-3">Nach Status</h3>
|
||||
<div class="space-y-2">
|
||||
<% if (statistics.byStatus.length > 0) { %>
|
||||
<% statistics.byStatus.forEach(item => { %>
|
||||
<div class="flex justify-between text-sm">
|
||||
<span class="text-gray-600 dark:text-gray-400"><%= item.status %></span>
|
||||
<span class="font-medium text-gray-800 dark:text-white"><%= item.count %></span>
|
||||
</div>
|
||||
<% }); %>
|
||||
<% } else { %>
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">Keine Daten verfügbar</p>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Applications -->
|
||||
<style>
|
||||
/* Shared column grid – used by the header labels and every application line */
|
||||
|
||||
Reference in New Issue
Block a user