neonail-database/resources/views/admin/statistics.blade.php
2025-08-10 18:09:07 +02:00

129 lines
5.7 KiB
PHP
Executable File

@extends('layouts.app')
@section('title', 'Statistiken - NeoNail DB')
@section('content')
<div class="row">
<div class="col-12">
<h1 class="h3 mb-4">
<i class="fas fa-chart-bar me-2"></i>Statistiken
</h1>
</div>
</div>
<!-- Übersichtsstatistiken -->
<div class="row mb-4">
<div class="col-md-3 mb-3">
<div class="card text-center">
<div class="card-body">
<i class="fas fa-users fa-2x text-primary mb-2"></i>
<h3 class="fw-bold">{{ $totalUsers }}</h3>
<p class="text-muted mb-0">Gesamte Benutzer</p>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card text-center">
<div class="card-body">
<i class="fas fa-palette fa-2x text-success mb-2"></i>
<h3 class="fw-bold">{{ $totalNailPolishes }}</h3>
<p class="text-muted mb-0">Gesamte Nagellacke</p>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card text-center">
<div class="card-body">
<i class="fas fa-user-check fa-2x text-info mb-2"></i>
<h3 class="fw-bold">{{ $usersWithCollections }}</h3>
<p class="text-muted mb-0">Benutzer mit Sammlung</p>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card text-center">
<div class="card-body">
<i class="fas fa-chart-line fa-2x text-warning mb-2"></i>
<h3 class="fw-bold">{{ round($averageCollectionSize, 1) }}</h3>
<p class="text-muted mb-0">Ø Sammlungsgröße</p>
</div>
</div>
</div>
</div>
<!-- Top-Benutzer -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h5 class="mb-0"><i class="fas fa-trophy me-2"></i>Top 10 Benutzer nach Sammlungsgröße</h5>
</div>
<div class="card-body">
@if($topUsers->count() > 0)
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Rang</th>
<th>Benutzer</th>
<th>E-Mail</th>
<th>Sammlung</th>
<th>Registriert</th>
<th>Aktionen</th>
</tr>
</thead>
<tbody>
@foreach($topUsers as $index => $user)
<tr>
<td>
@if($index === 0)
<i class="fas fa-trophy text-warning"></i>
@elseif($index === 1)
<i class="fas fa-medal text-secondary"></i>
@elseif($index === 2)
<i class="fas fa-award text-bronze"></i>
@else
<span class="badge bg-light text-dark">{{ $index + 1 }}</span>
@endif
</td>
<td>
<div class="d-flex align-items-center">
<i class="fas fa-user-circle fa-2x text-primary me-2"></i>
<div>
<strong>{{ $user->name }}</strong>
@if($user->email === 'admin@neonail.com')
<span class="badge bg-warning ms-2">Admin</span>
@endif
</div>
</div>
</td>
<td>{{ $user->email }}</td>
<td>
<span class="badge bg-success fs-6">
{{ $user->nail_polishes_count }} Lacke
</span>
</td>
<td>{{ $user->created_at->format('d.m.Y') }}</td>
<td>
<a href="{{ route('admin.users.collection', $user) }}"
class="btn btn-outline-info btn-sm">
<i class="fas fa-palette me-1"></i>Sammlung
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@else
<div class="text-center py-4">
<i class="fas fa-chart-bar fa-3x text-muted mb-3"></i>
<p class="text-muted">Noch keine Daten verfügbar</p>
</div>
@endif
</div>
</div>
</div>
</div>
@endsection