You've already forked Atomcms-edit
fix: add Cache import, convert DiagnosticResult to array for Livewire
This commit is contained in:
@@ -11,6 +11,7 @@ use App\Models\Miscellaneous\WebsitePermission;
|
||||
use App\Models\StaffActivity;
|
||||
use App\Services\AutoDetectService;
|
||||
use App\Services\CatalogService;
|
||||
use App\Services\Diagnostics\DiagnosticResult;
|
||||
use App\Services\Diagnostics\DiagnosticRunner;
|
||||
use App\Services\GitHubService;
|
||||
use App\Services\RconService;
|
||||
@@ -1072,7 +1073,12 @@ final class Commandocentrum extends Page implements HasForms
|
||||
private function runDiagnostics(): void
|
||||
{
|
||||
$runner = app(DiagnosticRunner::class);
|
||||
$this->diagnostics = $runner->runAll();
|
||||
$this->diagnostics = array_map(fn (DiagnosticResult $r) => [
|
||||
'name' => $r->name,
|
||||
'status' => $r->status,
|
||||
'message' => $r->message,
|
||||
'fix' => $r->fix,
|
||||
], $runner->runAll());
|
||||
}
|
||||
|
||||
private function renderDiagnostics(): HtmlString
|
||||
@@ -1081,9 +1087,9 @@ final class Commandocentrum extends Page implements HasForms
|
||||
$this->runDiagnostics();
|
||||
}
|
||||
|
||||
$errors = array_filter($this->diagnostics, fn ($r) => $r->status === 'error');
|
||||
$warnings = array_filter($this->diagnostics, fn ($r) => $r->status === 'warning');
|
||||
$ok = array_filter($this->diagnostics, fn ($r) => $r->status === 'ok');
|
||||
$errors = array_filter($this->diagnostics, fn ($r) => $r['status'] === 'error');
|
||||
$warnings = array_filter($this->diagnostics, fn ($r) => $r['status'] === 'warning');
|
||||
$ok = array_filter($this->diagnostics, fn ($r) => $r['status'] === 'ok');
|
||||
|
||||
$errorCount = count($errors);
|
||||
$warningCount = count($warnings);
|
||||
@@ -1120,21 +1126,21 @@ final class Commandocentrum extends Page implements HasForms
|
||||
if ($errorCount > 0 || $warningCount > 0) {
|
||||
$html .= '<div style="display:flex;flex-direction:column;gap:8px;">';
|
||||
foreach ($this->diagnostics as $result) {
|
||||
if ($result->status === 'ok') {
|
||||
if ($result['status'] === 'ok') {
|
||||
continue;
|
||||
}
|
||||
$color = $result->status === 'error' ? '#ef4444' : '#f59e0b';
|
||||
$icon = $result->status === 'error'
|
||||
$color = $result['status'] === 'error' ? '#ef4444' : '#f59e0b';
|
||||
$icon = $result['status'] === 'error'
|
||||
? '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="' . $color . '" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>'
|
||||
: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="' . $color . '" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>';
|
||||
|
||||
$html .= '<div style="background:#fff;border:1px solid ' . $color . '30;border-radius:10px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;">';
|
||||
$html .= '<div style="flex-shrink:0;margin-top:2px;">' . $icon . '</div>';
|
||||
$html .= '<div style="flex:1;">';
|
||||
$html .= '<div style="font-weight:600;color:#1e293b;font-size:14px;">' . e($result->name) . '</div>';
|
||||
$html .= '<div style="color:#64748b;font-size:13px;margin-top:2px;">' . e($result->message) . '</div>';
|
||||
if ($result->fix) {
|
||||
$html .= '<div style="background:#f8fafc;border-radius:6px;padding:8px 12px;margin-top:8px;font-size:12px;color:#475569;font-family:monospace;">💡 ' . e($result->fix) . '</div>';
|
||||
$html .= '<div style="font-weight:600;color:#1e293b;font-size:14px;">' . e($result['name']) . '</div>';
|
||||
$html .= '<div style="color:#64748b;font-size:13px;margin-top:2px;">' . e($result['message']) . '</div>';
|
||||
if ($result['fix']) {
|
||||
$html .= '<div style="background:#f8fafc;border-radius:6px;padding:8px 12px;margin-top:8px;font-size:12px;color:#475569;font-family:monospace;">💡 ' . e($result['fix']) . '</div>';
|
||||
}
|
||||
$html .= '</div></div>';
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Services\Diagnostics;
|
||||
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Redis;
|
||||
|
||||
class SystemDiagnostic
|
||||
|
||||
Reference in New Issue
Block a user