@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @php $gedung_alias_path = [ 'OFFICE' => 'trsoff', 'A' => 'trsgda', 'B' => 'trsgdb', 'C' => 'trsgdc', 'E' => 'trsgde', 'F' => 'trsgdf', ]; $topology_path_by_gedung = function ($code) use ($gedung_alias_path) { $key = strtoupper((string) $code); return $gedung_alias_path[$key] ?? 'trssrv'; }; @endphp @include('layouts.navbars.auth.topnav', ['title' => ''])
{{-- ── Stats Cards ── --}}
Total Perangkat
{{ $stat_total }}
Printer / Scanner
{{ $stat_printer }}
Switch
{{ $stat_switch }}
CPU / PC
{{ $stat_cpu }}
Lainnya
{{ $stat_other }}
{{-- ── Left Column ── --}}
{{-- Gedung Overview --}} @if (!($is_teknisi ?? false)) {{-- Master Asset Overview --}}
Aset Perangkat
Total: {{ $master_total }}
@php $masterIcons = [ 'switch' => ['icon' => 'fa-network-wired', 'bg' => 'bg-dash-switch'], 'cpu' => ['icon' => 'fa-desktop', 'bg' => 'bg-dash-cpu'], 'printer' => ['icon' => 'fa-print', 'bg' => 'bg-dash-server'], 'scanner' => ['icon' => 'fa-barcode', 'bg' => 'bg-dash-other'], 'monitor' => ['icon' => 'fa-tv', 'bg' => 'bg-dash-total'], ]; @endphp @foreach ($master_counts as $mKey => $mCount)
{{ ucfirst($mKey) }}
{{ $mCount }}
@endforeach
@endif {{-- Recent Devices --}}
Perangkat Terakhir Diupdate
@if ($is_teknisi ?? false) {{ $gedung_map[$user_gedung] ?? '' }} @endif
@if (!($is_teknisi ?? false)) @endif @forelse ($recent_devices as $rd) @php $katLower = strtolower($rd->nama_kategori ?? ''); $badgeClass = 'badge-default'; $badgeIcon = 'fa-microchip'; if (str_contains($katLower, 'server')) { $badgeClass = 'badge-server'; $badgeIcon = 'fa-server'; } elseif (str_contains($katLower, 'switch')) { $badgeClass = 'badge-switch'; $badgeIcon = 'fa-network-wired'; } elseif (str_contains($katLower, 'cpu')) { $badgeClass = 'badge-cpu'; $badgeIcon = 'fa-desktop'; } elseif (str_contains($katLower, 'printer')) { $badgeClass = 'badge-printer'; $badgeIcon = 'fa-print'; } elseif (str_contains($katLower, 'scanner')) { $badgeClass = 'badge-scanner'; $badgeIcon = 'fa-barcode'; } elseif (str_contains($katLower, 'monitor')) { $badgeClass = 'badge-monitor'; $badgeIcon = 'fa-tv'; } elseif (str_contains($katLower, 'router')) { $badgeClass = 'badge-router'; $badgeIcon = 'fa-route'; } @endphp @if (!($is_teknisi ?? false)) @endif @empty @endforelse
Perangkat Kategori Gedung AreaIP AddressAktivitas
{{ $rd->nama_perangkat }} {{ $rd->nama_kategori ?? '-' }} {{ $gedung_map[$rd->gedung] ?? $rd->gedung ?? '-' }} {{ data_get($rd, 'location') ?? data_get($rd, 'area') ?? '-' }}{{ $rd->ip_address ?? '-' }} {{ $rd->activity_at ? \Carbon\Carbon::parse($rd->activity_at)->diffForHumans() : '-' }}
Belum ada perangkat
{{-- ── Right Column ── --}}
{{-- Kategori Breakdown (Transaksi vs Master) --}}
Distribusi Perangkat

Perbandingan Jumlah Terpakai dan Tersedia

@php $katColorMap = [ 'server' => 'linear-gradient(90deg, #5e72e4, #825ee4)', 'switch' => 'linear-gradient(90deg, #fb6340, #f5365c)', 'cpu' => 'linear-gradient(90deg, #11cdef, #1171ef)', 'printer' => 'linear-gradient(90deg, #2dce89, #1fa86d)', 'scanner' => 'linear-gradient(90deg, #f5365c, #f56036)', 'monitor' => 'linear-gradient(90deg, #8965e0, #bc65e0)', 'router' => 'linear-gradient(90deg, #ffd600, #f7b924)', ]; @endphp @forelse ($kategori_stats as $ks) @php $trsCount = $ks['total']; $mstCount = $ks['master_total'] ?? 0; // Bar width = transaksi / master * 100, capped at 100% $maxVal = max($mstCount, $trsCount, 1); $pct = round(($trsCount / $maxVal) * 100); if ($pct < 5 && $trsCount > 0) $pct = 5; // minimum visible width $bgColor = 'linear-gradient(90deg, #5e72e4, #825ee4)'; foreach ($katColorMap as $key => $gradient) { if (str_contains(strtolower($ks['name']), $key)) { $bgColor = $gradient; break; } } @endphp
{{ $ks['name'] }}
{{ $trsCount }}
Transaksi: {{ $trsCount }} Master: {{ $mstCount }}
@empty

Belum ada data

@endforelse {{-- Legend --}}
Terdaftar (Transaksi) Total Master (Asset)
{{-- Quick Links --}} {{-- Tutorial Center --}}
Pusat Panduan & Tutorial
@forelse ($tutorials as $tutorial)
{{ $tutorial->judul }}
{{ \Illuminate\Support\Str::limit($tutorial->keterangan, 72) }}
@empty
Belum ada tutorial aktif
@endforelse
@endsection @push('js') @endpush