ultimatepos/Modules/Maintenance/Resources/views/health/index.blade.php

67 lines
2.9 KiB
PHP

@extends('layouts.app')
@section('title', __('maintenance::lang.system_health'))
@section('content')
@include('maintenance::layouts.nav')
<section class="content no-print mt-page">
<div class="mt-page-header">
<h1><i class="fas fa-heartbeat" style="color:#14b8a6;margin-left:8px;"></i> @lang('maintenance::lang.system_health')</h1>
@can('maintenance.access')
<form method="POST" action="{{ action([\Modules\Maintenance\Http\Controllers\HealthController::class, 'repair']) }}" style="display:inline;">
@csrf
<button type="submit" class="btn btn-primary" onclick="return confirm('@lang('maintenance::lang.health_repair_confirm')')">
<i class="fas fa-wrench"></i> @lang('maintenance::lang.health_repair_btn')
</button>
</form>
@endcan
</div>
<div class="mt-kpi-grid">
<div class="mt-kpi-card">
<div class="kpi-label">@lang('maintenance::lang.health_score')</div>
<div class="kpi-value">{{ $health['score'] ?? 0 }}%</div>
</div>
<div class="mt-kpi-card">
<div class="kpi-label">@lang('maintenance::lang.health_tables_ok')</div>
<div class="kpi-value">{{ $health['present_count'] ?? 0 }}/{{ $health['required_count'] ?? 0 }}</div>
</div>
<div class="mt-kpi-card">
<div class="kpi-label">@lang('maintenance::lang.health_status')</div>
<div class="kpi-value">{{ ($health['healthy'] ?? false) ? __('maintenance::lang.health_ok') : __('maintenance::lang.health_degraded') }}</div>
</div>
</div>
@if(!empty($health['missing_tables']))
<div class="mt-card">
<div class="mt-card-header"><h3 class="mt-card-title">@lang('maintenance::lang.health_missing_tables')</h3></div>
<div class="mt-card-body">
<ul>
@foreach($health['missing_tables'] as $table)
<li><code>{{ $table }}</code></li>
@endforeach
</ul>
</div>
</div>
@endif
<div class="mt-card">
<div class="mt-card-header"><h3 class="mt-card-title">@lang('maintenance::lang.health_integrations')</h3></div>
<div class="mt-card-body">
<table class="table table-striped">
<thead><tr><th>@lang('maintenance::lang.integration')</th><th>@lang('maintenance::lang.status')</th></tr></thead>
<tbody>
@foreach($health['integrations'] ?? [] as $name => $active)
<tr>
<td>{{ $name }}</td>
<td>{!! $active ? '<span class="label label-success">'.__('maintenance::lang.health_active').'</span>' : '<span class="label label-default">'.__('maintenance::lang.health_inactive').'</span>' !!}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</section>
@endsection