@extends('layouts.app') @section('title', 'Рейтинг кабінетів') @section('body_class', 'cabinet-rating-page') @push('head') @endpush @section('page_header')

Рейтинг кабінетів

Середній рейтинг кабінетів за вибраний період на основі конекшенів та спенду. Топ-3 отримують грошові бонуси на кабінет 💰

{{-- Блок з правилами нагород --}}
Призовий фонд:
🥇 1 місце — 900$ на кабінет 🥈 2 місце — 600$ на кабінет 🥉 3 місце — 300$ на кабінет 🚀 Найшвидший ріст — окремий бонус
Чим вищий середній рейтинг (0–100), тим вище місце. Кожен бал може змінити позицію.
@endsection @section('content') {{-- ШИРОКИЙ ФІЛЬТР ПІД ЗАГОЛОВКОМ --}}
Обери період, за який рахуємо рейтинг
{{-- З дати --}}
{{-- По дату --}}
@if($from && $to) Поточний період: {{ \Carbon\Carbon::parse($from)->format('d.m.Y') }} — {{ \Carbon\Carbon::parse($to)->format('d.m.Y') }} @endif
@if($cabinetRatings->isEmpty())
За вибраний період немає даних для розрахунку рейтингу.
@else {{-- 🚀 Блок "Найшвидший ріст кабінету" --}} @if(!empty($fastestCabinet)) @php $fcName = data_get($fastestCabinet, 'cabinet_name'); $fcSlug = data_get($fastestCabinet, 'cabinet_slug'); $fcAvgRating = data_get($fastestCabinet, 'avg_rating'); $fcPrevPlace = data_get($fastestCabinet, 'prev_place'); $fcCurrPlace = data_get($fastestCabinet, 'place'); $fcDelta = data_get($fastestCabinet, 'delta_places'); $fcGrowth = data_get($fastestCabinet, 'growth_percent'); @endphp
🚀 Ракета
Найшвидший ріст: {{ $fcName }} @if($fcSlug) {{ $fcSlug }} @endif
Стрибок: з {{ $fcPrevPlace ?? '?' }} місця на {{ $fcCurrPlace ?? '?' }} місце Піднявся на {{ $fcDelta ?? '?' }} позицій
Ріст рейтингу до минулого місяця: @if(!is_null($fcGrowth)) @if($fcGrowth >= 0)+@endif{{ $fcGrowth }}% @else немає даних для порівняння @endif
{{-- Приз за найшвидший ріст --}}
Бонус за найшвидший ріст для цього кабінету
{{ $fcAvgRating ?? '—' }}
@endif {{-- Основний рейтинг по місцям --}}
@foreach($cabinetRatings as $idx => $cab) @php $place = $idx + 1; $badgeClass = ''; $icon = null; $tagline = null; $reward = null; if ($place === 1) { $badgeClass = 'first'; $icon = 'fa-solid fa-crown'; $reward = 900; $tagline = 'Абсолютний лідер! Всі дивляться на вас 👑'; } elseif ($place === 2) { $badgeClass = 'second'; $icon = 'fa-solid fa-medal'; $reward = 600; $tagline = 'Ще трохи — і перше місце ваше 🥈'; } elseif ($place === 3) { $badgeClass = 'third'; $icon = 'fa-solid fa-award'; $reward = 300; $tagline = 'Бронза, але дуже близько до срібла 🥉'; } else { if ($cab['avg_rating'] >= 80) { $tagline = 'Ви дуже близько до топів! 🔥'; } elseif ($cab['avg_rating'] >= 60) { $tagline = 'Хороший рівень, але є куди рости 💪'; } else { $tagline = 'Тут народжуються майбутні чемпіони 🚀'; } } $growthText = null; $trendClass = null; $trendLabel = null; $trendIcon = null; if (!empty($cab['prev_place'])) { $dp = $cab['delta_places'] ?? 0; $gp = $cab['growth_percent'] ?? null; if ($dp > 0) { $growthText = "Піднялись на {$dp} місць порівняно з минулим місяцем"; $trendClass = 'trend-up'; $trendLabel = "+{$dp}"; $trendIcon = 'fa-solid fa-arrow-up'; } elseif ($dp === 0) { $growthText = "Тримаєте позицію на рівні минулого місяця"; $trendClass = 'trend-flat'; $trendLabel = "0"; $trendIcon = 'fa-solid fa-minus'; } else { $growthText = "Позиція гірша ніж минулого місяця"; $trendClass = 'trend-down'; $trendLabel = (string) $dp; $trendIcon = 'fa-solid fa-arrow-down'; } if (!is_null($gp)) { $sign = $gp >= 0 ? '+' : ''; $growthText .= " (рейтинг {$sign}{$gp}%)"; } } // Затримка анімації для каскаду карток $delay = 0.15 + ($idx * 0.06); @endphp
{{ $place }} @if($icon) @endif
{{ $cab['cabinet_name'] }} @if(!empty($cab['cabinet_slug'])) {{ $cab['cabinet_slug'] }} @endif
Рейтинг: {{ $cab['avg_rating'] }} / 100 @if($trendClass && $trendLabel) @if($trendIcon) @endif {{ $trendLabel }} місць @endif
{{-- Мотиваційний текст --}}
{{ $tagline }}
{{-- Міні-нагороди (ачівки) --}}
@if($cab['avg_rating'] >= 90) 🔥 Елітний кабінет (90+) @elseif($cab['avg_rating'] >= 80) 💎 Стабільний топ (80+) @endif @if(!empty($cab['growth_percent']) && $cab['growth_percent'] >= 20) 📈 Сильний ріст ({{ $cab['growth_percent'] }}%) @endif
{{-- Текст про ріст / падіння --}} @if($growthText)
{{ $growthText }}
@endif {{-- 💰 Нагорода для ТОП-3 --}} @if($reward)
{{ $reward }}$ бонус на кабінет
@endif
{{ $cab['avg_rating'] }}
@endforeach
@endif @endsection