@@ -12,59 +12,57 @@ class="gap-2 w-full justify-center py-2.5"
12
12
</x-buttons .primary >
13
13
</x-slot:buttons >
14
14
15
- @php
16
- $top3 = $leaderboard -> slice (0 , 3 );
17
- $lists = $leaderboard -> reject (fn ($user ) => in_array ($user -> id , $top3 -> pluck (' id' )-> toArray ()))
18
- @endphp
19
-
20
15
<div id =" leaderboard" >
21
- @php
22
- $first = $top3 -> first ();
23
- $second = $top3 -> get (1 );
24
- $third = $top3 -> last ();
25
- @endphp
16
+ @if ($leaders -> isNotEmpty () )
17
+ @php
18
+ $first = $leaders -> first ();
19
+ $second = $leaders -> get (1 );
20
+ $third = $leaders -> last ();
21
+ @endphp
26
22
27
- <div class =" relative isolate" >
28
- <div class =" flex flex-col gap-6 lg:flex-row lg:items-start lg:justify-evenly lg:pl-4" >
29
- <div class =" group z-10 order-2 sm:flex sm:flex-col sm:items-center lg:order-1 lg:mt-8" >
30
- <x-forum .leader :user =" $second" :position =" 2" />
31
- <div class =" hidden leaderboard w-60 xl:grid" >
32
- <div class =" stage h-12 bg-yellow-300" >
33
- <div class =" stage-front flex items-center justify-center text-white h-24 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900" ></div >
23
+ <div class =" relative isolate" >
24
+ <div class =" flex flex-col gap-6 lg:flex-row lg:items-start lg:justify-evenly lg:pl-4" >
25
+ <div class =" group z-10 order-2 sm:flex sm:flex-col sm:items-center lg:order-1 lg:mt-8" >
26
+ <x-forum .leader :user =" $second" :position =" 2" />
27
+ <div class =" hidden leaderboard w-60 xl:grid" >
28
+ <div class =" stage h-12 bg-yellow-300" >
29
+ <div class =" stage-front flex items-center justify-center text-white h-24 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900" ></div >
30
+ </div >
34
31
</div >
35
32
</div >
36
- </ div >
37
- < div class = " group z-20 order-1 sm:flex sm:flex-col sm:items-center lg:order-2 " >
38
- < x-forum .leader :user = " $first " :position = " 1 " / >
39
- <div class =" hidden leaderboard w-90 xl:grid " >
40
- <div class =" stage h-12 bg-green-500 " >
41
- <div class = " stage-front flex items-center justify-center text-white h-32 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900 " >< /div >
33
+ < div class = " group z-20 order-1 sm:flex sm:flex-col sm:items-center lg:order-2 " >
34
+ < x-forum .leader :user = " $first " :position = " 1 " / >
35
+ < div class = " hidden leaderboard w-90 xl:grid " >
36
+ <div class =" stage h-12 bg-green-500 " >
37
+ <div class =" stage-front flex items-center justify-center text-white h-32 bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900 " ></ div >
38
+ </div >
42
39
</div >
43
40
</div >
44
- </ div >
45
- < div class = " group z-10 order-3 sm:flex sm:flex-col sm:items-center lg:mt-8 xl:mt-14 " >
46
- < x-forum .leader :user = " $third " :position = " 3 " / >
47
- <div class =" hidden leaderboard w-60 xl:grid " >
48
- <div class =" stage h-12 bg-danger-400 " >
49
- <div class = " stage-front flex items-center justify-center text-white h-[4rem] bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900 " >< /div >
41
+ < div class = " group z-10 order-3 sm:flex sm:flex-col sm:items-center lg:mt-8 xl:mt-14 " >
42
+ < x-forum .leader :user = " $third " :position = " 3 " / >
43
+ < div class = " hidden leaderboard w-60 xl:grid " >
44
+ <div class =" stage h-12 bg-danger-400 " >
45
+ <div class =" stage-front flex items-center justify-center text-white h-[4rem] bg-gradient-to-b from-gray-100 to-gray-50 dark:from-gray-800 dark:to-gray-900 " ></ div >
46
+ </div >
50
47
</div >
51
48
</div >
52
49
</div >
53
- </div >
54
- <div class =" mt-4 w-full max-w-sm mx-auto flex items-center justify-center" >
55
- <div class =" relative z-10 flex flex-1 w-full items-center overflow-hidden rounded-lg ring-1 ring-gray-200 p-[1px] dark:ring-white/10" >
56
- <div
57
- class =" animate-rotate absolute inset-0 h-full w-full rounded-full bg-[conic-gradient(#e21b30_20deg,transparent_120deg)]"
58
- ></div >
59
- <div class =" flex-1 flex items-center px-4 py-2 rounded-lg bg-white dark:bg-gray-800" >
60
- <p class =" inline-flex items-center gap-2 text-[13px] text-gray-700 dark:text-gray-300" >
61
- <x-phosphor-trophy-duotone class =" size-5" aria-hidden =" true" />
62
- {{ __ (' global.ranking_updated' ) } }
63
- </p >
50
+
51
+ <div class =" mt-4 w-full max-w-sm mx-auto flex items-center justify-center" >
52
+ <div class =" relative z-10 flex flex-1 w-full items-center overflow-hidden rounded-lg ring-1 ring-gray-200 p-[1px] dark:ring-white/10" >
53
+ <div
54
+ class =" animate-rotate absolute inset-0 h-full w-full rounded-full bg-[conic-gradient(#e21b30_20deg,transparent_120deg)]"
55
+ ></div >
56
+ <div class =" flex-1 flex items-center px-4 py-2 rounded-lg bg-white dark:bg-gray-800" >
57
+ <p class =" inline-flex items-center gap-2 text-[13px] text-gray-700 dark:text-gray-300" >
58
+ <x-phosphor-trophy-duotone class =" size-5" aria-hidden =" true" />
59
+ {{ __ (' global.ranking_updated' ) } }
60
+ </p >
61
+ </div >
64
62
</div >
65
63
</div >
66
64
</div >
67
- </ div >
65
+ @endif
68
66
69
67
<div class =" relative mt-10" >
70
68
<div class =" space-y-2" >
@@ -85,11 +83,12 @@ class="animate-rotate absolute inset-0 h-full w-full rounded-full bg-[conic-grad
85
83
{{ __ (' global.last_active' ) } }
86
84
</div >
87
85
</div >
88
- @foreach ($lists as $user )
86
+
87
+ @forelse ($members as $user )
89
88
<div class =" grid auto-cols grid-flow-col bg-gray-100 rounded-xl px-4 py-3 text-sm text-gray-700 dark:bg-gray-950/50 dark:text-gray-300" >
90
89
<div class =" w-10 flex items-center gap-2" >
91
90
<x-phosphor-trophy-duotone class =" size-5" aria-hidden =" true" />
92
- {{ $loop -> index + 4 } }
91
+ {{ $loop -> index + $startPosition } }
93
92
</div >
94
93
<div class =" w-32 flex items-center gap-2" >
95
94
<x-user .avatar :user =" $user" class =" size-7" />
@@ -107,7 +106,11 @@ class="animate-rotate absolute inset-0 h-full w-full rounded-full bg-[conic-grad
107
106
{{ $user -> last_active_at ?-> diffForHumans () } }
108
107
</div >
109
108
</div >
110
- @endforeach
109
+ @empty
110
+ <div class =" bg-gray-100 rounded-xl px-4 py-3 text-center text-sm text-gray-700 dark:bg-gray-950/50 dark:text-gray-300" >
111
+ {{ __ (' pages/forum.leaderboard_empty' ) } }
112
+ </div >
113
+ @endforelse
111
114
</div >
112
115
</div >
113
116
</div >
0 commit comments