14-04-2026
This commit is contained in:
parent
f58c709945
commit
0f82fea88a
72 changed files with 7414 additions and 148 deletions
143
resources/views/admin/payment-dashboard/index.blade.php
Normal file
143
resources/views/admin/payment-dashboard/index.blade.php
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible fade show">
|
||||
{{ session('success') }}
|
||||
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<div>
|
||||
<h4 class="mb-0">
|
||||
<i class="ion ion-md-alert text-danger"></i> Payment Monitor
|
||||
</h4>
|
||||
<small class="text-muted">Entwickler-Ansicht — {{ now()->format('d.m.Y H:i') }}</small>
|
||||
</div>
|
||||
<div>
|
||||
<button type="button" class="btn btn-danger btn-sm" data-toggle="modal" data-target="#createIncidentModal">
|
||||
<i class="ion ion-md-add"></i> Neuer Incident
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Stat-Karten --}}
|
||||
@include('admin.payment-dashboard._partials.stats-cards')
|
||||
|
||||
{{-- Anbieter-Status --}}
|
||||
<div class="row mb-4">
|
||||
@foreach($providerStats as $key => $provider)
|
||||
@php $uptime = $uptimeStats[$key] ?? null; @endphp
|
||||
<div class="col-sm-6 col-xl-3">
|
||||
<div class="card {{ $provider['open_incidents'] > 0 ? 'border-danger' : '' }}">
|
||||
<div class="card-body py-2 px-3">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<strong>{{ $provider['label'] }}</strong>
|
||||
<div>
|
||||
@if($uptime && $uptime['last_check'])
|
||||
@if($uptime['last_check']->is_up)
|
||||
<span class="badge badge-success mr-1" title="Letzte Prüfung: {{ $uptime['last_check']->checked_at->diffForHumans() }}">
|
||||
<i class="ion ion-md-checkmark"></i> Online
|
||||
</span>
|
||||
@else
|
||||
<span class="badge badge-danger mr-1" title="{{ $uptime['last_check']->error_message }}">
|
||||
<i class="ion ion-md-close"></i> Offline
|
||||
</span>
|
||||
@endif
|
||||
@endif
|
||||
@if($provider['open_incidents'] > 0)
|
||||
<span class="badge badge-warning">{{ $provider['open_incidents'] }} Incident</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-muted small mt-1">{{ $provider['total_30d'] }} Incidents (30 Tage)</div>
|
||||
@if($uptime && $uptime['checks_24h'] > 0)
|
||||
<div class="text-muted" style="font-size:0.7rem">
|
||||
Uptime 24h: {{ $uptime['uptime_24h'] }}%
|
||||
@if($uptime['failures_24h'] > 0)
|
||||
— <span class="text-danger">{{ $uptime['failures_24h'] }} Ausfälle</span>
|
||||
@endif
|
||||
</div>
|
||||
@elseif($uptime)
|
||||
<div class="text-muted" style="font-size:0.7rem">Noch keine Uptime-Daten</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
{{-- Tabs --}}
|
||||
<ul class="nav nav-tabs" id="dashboardTabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="tab" href="#tab-open">
|
||||
Offene Incidents
|
||||
@if($openIncidents->count() > 0)
|
||||
<span class="badge badge-danger ml-1">{{ $openIncidents->count() }}</span>
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="tab" href="#tab-all">Alle Incidents</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('admin.payment-dashboard.payments') }}">
|
||||
<i class="ion ion-md-card"></i> Zahlungen & Transaktionen
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('admin.payment-dashboard.transactions') }}">
|
||||
<i class="ion ion-md-swap"></i> Rohe Transaktionen
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('admin.payment-dashboard.funnel') }}">
|
||||
<i class="ion ion-md-funnel"></i> Funnel-Tracking
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('admin.payment-dashboard.abandoned') }}">
|
||||
<i class="ion ion-md-alert"></i> Abbruch-Analyse
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('admin.payment-dashboard.logs') }}">
|
||||
<i class="ion ion-md-list"></i> PAYONE Logs
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
{{-- Tab: Offene Incidents --}}
|
||||
<div class="tab-pane fade show active pt-3" id="tab-open">
|
||||
<div class="card">
|
||||
<div class="card-body p-0">
|
||||
@include('admin.payment-dashboard._partials.incident-table', [
|
||||
'incidents' => $openIncidents,
|
||||
'showActions' => true,
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Tab: Alle Incidents --}}
|
||||
<div class="tab-pane fade pt-3" id="tab-all">
|
||||
<div class="card">
|
||||
<div class="card-body p-0">
|
||||
@include('admin.payment-dashboard._partials.incident-table', [
|
||||
'incidents' => $allIncidents,
|
||||
'showActions' => true,
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
{{ $allIncidents->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('admin.payment-dashboard._partials.create-incident-modal')
|
||||
|
||||
@endsection
|
||||
Loading…
Add table
Add a link
Reference in a new issue