{{-- resources/views/superadmin/falcon-room/devices-ips.blade.php --}} @extends('layouts.superadmin') @section('content') @php use Illuminate\Support\Str; $suspiciousIPs = $suspiciousIPs ?? collect(); $deviceStats = $deviceStats ?? collect(); $browserStats = $browserStats ?? collect(); $devices = $devices ?? collect(); $membersUsage = $membersUsage ?? collect(); $totalDevices = (int) $deviceStats->sum('count'); $totalBrowsers = (int) $browserStats->sum('count'); // بعض مؤشرات SOCratic (اختيارية/تقديرية) $suspCount = (int) $suspiciousIPs->count(); $topSusIP = $suspiciousIPs->sortByDesc('users_count')->first(); // تقدير: عدد الصفوف المعروضة (أو total لو paginator) $devicesCountShown = method_exists($devices,'count') ? $devices->count() : 0; // تواجد الأعضاء (اليوم/الأسبوع/الشهر) — كما عندك $fmt = function($mins){ $mins = (int)max(0,$mins); $h=intdiv($mins,60); $m=$mins%60; return ($h?$h.' س':'0 س').' '.$m.' د'; }; $sumToday = (int) $membersUsage->sum('minutes_today'); $sumWeek = (int) $membersUsage->sum('minutes_week'); $sumMonth = (int) $membersUsage->sum('minutes_month'); $peopleCnt = method_exists($membersUsage,'total') ? $membersUsage->total() : $membersUsage->count(); // أدوات صغيرة $pct = function($part,$total){ $total = (float)$total; if ($total <= 0) return 0; return round(((float)$part / $total) * 100, 1); }; $badgeLevel = function($usersCount){ $n = (int)$usersCount; if ($n >= 8) return ['حرج','bg-rose-500/15 text-rose-200 ring-rose-400/30']; if ($n >= 4) return ['مشبوه','bg-amber-500/15 text-amber-200 ring-amber-400/30']; return ['طبيعي','bg-emerald-500/15 text-emerald-200 ring-emerald-400/30']; }; @endphp
أسئلة سقراط: هل يوجد مشاركة IP غير طبيعية؟ هل هناك جهاز يُستخدم من عدة حسابات؟ أين مصدر المخاطر قبل أن تتحول لاختراق؟
تم اكتشاف {{ number_format($suspCount) }} عنوان IP مستخدم من قبل أكثر من 3 مستخدمين. (سقراط: هل هذا “مكتب/مدرسة” أم “تجمع حسابات”؟)
سقراط: هل الأداء/المشاكل تأتي من موبايل أكثر؟ معرفة النسبة تساعدك تبني قرارات UX.
سقراط: هل هناك متصفح يسبب سلوك غريب؟ (مثل كاش/إضافات/حظر سكربتات)
سقراط: ابحث عن “جهاز واحد + عدة حسابات” أو “IP واحد + عدة حسابات” ثم اربطها بسلوك المستخدم.
| نوع الجهاز | المتصفح | نظام التشغيل | IP Address | عدد المستخدمين | مرات الاستخدام | آخر استخدام |
|---|---|---|---|---|---|---|
| {{ $device->device_type ?? 'Unknown' }} | {{ $device->browser ?? 'Unknown' }} | {{ $device->os ?? 'Unknown' }} | {{ $device->ip_address }} |
{{ number_format($uc) }}
{{ $lvl }}
|
{{ number_format($device->usage_count ?? 0) }} | {{ !empty($device->last_used) ? \Carbon\Carbon::parse($device->last_used)->diffForHumans() : '—' }} |
| لا يوجد بيانات. | ||||||
سقراط: من الأكثر التزامًا؟ ومن يختفي تدريجيًا؟ الأرقام تساعدك قبل ما يصير “غياب مزمن”.
{{-- كروت الملخص --}}| # | العضو | جلسات اليوم | وقت اليوم | جلسات الأسبوع | وقت الأسبوع | جلسات الشهر | وقت الشهر |
|---|---|---|---|---|---|---|---|
| {{ ($membersUsage instanceof \Illuminate\Contracts\Pagination\Paginator) ? ($membersUsage->firstItem() + $i) : ($i+1) }} |
@if(!empty($u->avatar_url))
{{ $u->username ?? '' }}
|
{{ (int)($u->sessions_today ?? 0) }} | {{ $fmt($u->minutes_today ?? 0) }} | {{ (int)($u->sessions_week ?? 0) }} | {{ $fmt($u->minutes_week ?? 0) }} | {{ (int)($u->sessions_month ?? 0) }} | {{ $fmt($u->minutes_month ?? 0) }} |
| لا يوجد بيانات بعد. | |||||||