14-04-2026
This commit is contained in:
parent
f58c709945
commit
0f82fea88a
72 changed files with 7414 additions and 148 deletions
|
|
@ -0,0 +1,120 @@
|
|||
@extends('layouts.dashboard')
|
||||
@section('page-title', 'Zahlungssystem – Übersicht')
|
||||
|
||||
@section('content')
|
||||
|
||||
{{-- ── Stat-Karten ── --}}
|
||||
<div class="grid-4 mb-6">
|
||||
<div class="stat-card {{ $stats['open_incidents'] > 0 ? 'danger' : 'ok' }}">
|
||||
<div class="stat-label">Offene Störungen</div>
|
||||
<div class="stat-value">{{ $stats['open_incidents'] }}</div>
|
||||
<div class="stat-sub">Warten auf Lösung</div>
|
||||
</div>
|
||||
<div class="stat-card {{ $stats['in_progress'] > 0 ? 'warning' : 'ok' }}">
|
||||
<div class="stat-label">In Bearbeitung</div>
|
||||
<div class="stat-value">{{ $stats['in_progress'] }}</div>
|
||||
<div class="stat-sub">Aktiv bearbeitet</div>
|
||||
</div>
|
||||
<div class="stat-card {{ $stats['total_affected_revenue'] > 0 ? 'danger' : 'ok' }}">
|
||||
<div class="stat-label">Betroffener Umsatz</div>
|
||||
<div class="stat-value">{{ number_format($stats['total_affected_revenue'], 0, ',', '.') }} €</div>
|
||||
<div class="stat-sub">Offene Incidents</div>
|
||||
</div>
|
||||
<div class="stat-card {{ $stats['payone_incidents_30d'] >= 3 ? 'danger' : ($stats['payone_incidents_30d'] >= 1 ? 'warning' : 'ok') }}">
|
||||
<div class="stat-label">PAYONE Probleme</div>
|
||||
<div class="stat-value">{{ $stats['payone_incidents_30d'] }}</div>
|
||||
<div class="stat-sub">Letzte 30 Tage</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- ── Anbieter-Status ── --}}
|
||||
<div class="card mb-6">
|
||||
<div class="card-title">Anbieter-Übersicht</div>
|
||||
<div class="provider-grid">
|
||||
@foreach($providerStats as $key => $provider)
|
||||
<div class="provider-card {{ $provider['open_incidents'] > 0 ? 'has-issues' : 'ok' }}">
|
||||
<div class="provider-name">{{ $provider['label'] }}</div>
|
||||
<div class="provider-incidents">{{ $provider['open_incidents'] }}</div>
|
||||
<div class="provider-sub">offene Störungen</div>
|
||||
<div class="provider-sub" style="margin-top:6px;">{{ $provider['total_30d'] }}× in 30 Tagen</div>
|
||||
@if($provider['last_incident'])
|
||||
<div class="provider-sub" style="margin-top:4px; font-size:10px;">
|
||||
Zuletzt: {{ $provider['last_incident']->detected_at->format('d.m.Y') }}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- ── Offene Störungen ── --}}
|
||||
@if($openIncidents->count() > 0)
|
||||
<div class="card mb-6" style="border-color: var(--red);">
|
||||
<div class="card-title" style="color: var(--red);">⚠ Aktive Störungen</div>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Störung</th>
|
||||
<th>Anbieter</th>
|
||||
<th>Schwere</th>
|
||||
<th>Status</th>
|
||||
<th>Seit</th>
|
||||
<th>Betroffene Bestellungen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($openIncidents as $incident)
|
||||
<tr>
|
||||
<td><strong>{{ $incident->title }}</strong></td>
|
||||
<td>{{ $incident->provider_label }}</td>
|
||||
<td><span class="badge badge-{{ $incident->severity }}">{{ ucfirst($incident->severity) }}</span></td>
|
||||
<td><span class="badge badge-{{ $incident->status }}">{{ $incident->status_label }}</span></td>
|
||||
<td>{{ $incident->detected_at->format('d.m.Y H:i') }}<br><span class="text-muted">{{ $incident->duration }}</span></td>
|
||||
<td>{{ $incident->affected_orders > 0 ? $incident->affected_orders . ' Bestellungen' : '–' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="card mb-6" style="border-color: var(--green); text-align:center; padding: 32px;">
|
||||
<div style="font-size: 32px; margin-bottom: 8px;">✅</div>
|
||||
<div style="font-weight: 700; color: var(--green); margin-bottom: 4px;">Keine aktiven Störungen</div>
|
||||
<div class="text-muted">Alle Zahlungssysteme laufen normal.</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- ── Letzte Incidents ── --}}
|
||||
<div class="card">
|
||||
<div class="card-title">Letzte Vorfälle</div>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Titel</th>
|
||||
<th>Anbieter</th>
|
||||
<th>Datum</th>
|
||||
<th>Status</th>
|
||||
<th>Dauer</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse($recentIncidents as $incident)
|
||||
<tr>
|
||||
<td>{{ $incident->title }}</td>
|
||||
<td>{{ $incident->provider_label }}</td>
|
||||
<td>{{ $incident->detected_at->format('d.m.Y') }}</td>
|
||||
<td><span class="badge badge-{{ $incident->status }}">{{ $incident->status_label }}</span></td>
|
||||
<td>{{ $incident->duration }}</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="5" class="text-muted">Noch keine Vorfälle erfasst.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
Loading…
Add table
Add a link
Reference in a new issue