@extends('admin.layout') @section('title', __('admin.monitoring.title').' · '.__('admin.brand')) @section('content') @php $stateClass = static fn (string $state): string => match ($state) { 'healthy' => 'status-success', 'warning' => 'status-degraded', 'critical' => 'status-critical', 'acknowledged' => 'status-pending', 'resolved' => 'status-success', 'not_applicable' => 'status-unknown', default => 'status-unknown', }; $summary = $report['summary']; @endphp
COASTER WORLD DATA · {{ $platformVersion }}

{{ __('admin.monitoring.title') }}

{{ __('admin.monitoring.subtitle') }}

@csrf
♥
{{ __('admin.monitoring.states.'.$report['status']) }}{{ __('admin.monitoring.overall_state') }}
!
{{ $activeAlerts->count() }}{{ __('admin.monitoring.active_alerts') }}
×
{{ $summary['critical'] }}{{ __('admin.monitoring.critical_checks') }}
△
{{ $summary['warnings'] }}{{ __('admin.monitoring.warning_checks') }}

{{ __('admin.monitoring.active_alerts_title') }}

{{ __('admin.monitoring.active_alerts_hint') }}

{{ $scheduleEnabled ? __('admin.monitoring.schedule_on', ['minutes' => $scheduleMinutes]) : __('admin.monitoring.schedule_off') }}
@if (! $alertsAvailable)
{{ __('admin.monitoring.migration_required') }}
@elseif ($activeAlerts->isEmpty())
{{ __('admin.monitoring.no_active_alerts') }}
@else
@foreach ($activeAlerts as $alert)
{{ __('admin.monitoring.checks.'.$alert->code.'.title') }} {{ __('admin.monitoring.checks.'.$alert->code.'.hint') }} · {{ __('admin.monitoring.detected') }} {{ $alert->last_detected_at?->diffForHumans() ?? '—' }} · {{ __('admin.monitoring.occurrences', ['count' => $alert->occurrences]) }} {{ __('admin.monitoring.states.'.$alert->severity) }} @if ($alert->status === 'acknowledged') {{ __('admin.monitoring.acknowledged') }} @else
@csrf @method('PATCH')
@endif
@endforeach
@endif

{{ __('admin.monitoring.health_checks_title') }}

{{ __('admin.monitoring.health_checks_hint', ['time' => $report['generated_at']]) }}

@foreach ($report['checks'] as $check) @endforeach
{{ __('admin.monitoring.check') }} {{ __('admin.status') }} {{ __('admin.monitoring.current') }} {{ __('admin.monitoring.threshold') }}
{{ __('admin.monitoring.checks.'.$check['code'].'.title') }} {{ __('admin.monitoring.checks.'.$check['code'].'.hint') }} {{ __('admin.monitoring.states.'.$check['state']) }} {{ is_scalar($check['current']) || $check['current'] === null ? ($check['current'] ?? '—') : '—' }} {{ is_scalar($check['threshold']) || $check['threshold'] === null ? ($check['threshold'] ?? '—') : '—' }}

{{ __('admin.monitoring.resolved_title') }}

{{ __('admin.monitoring.resolved_hint') }}

@if (! $alertsAvailable || $resolvedAlerts->isEmpty())
{{ __('admin.monitoring.no_resolved_alerts') }}
@else
@foreach ($resolvedAlerts as $alert)
{{ __('admin.monitoring.checks.'.$alert->code.'.title') }} {{ __('admin.monitoring.resolved') }} {{ $alert->resolved_at?->diffForHumans() ?? '—' }} {{ __('admin.monitoring.states.resolved') }}
@endforeach
@endif

{{ __('admin.monitoring.safety_note') }}

@endsection